2013-06-17 6 views
7

Sto cercando di ottenere in modo anonimo i dati di immagine (come le dimensioni dell'immagine) tramite l'API di Imgur versione 3 tramite C#. La loro documentazione indicaOttenere informazioni sull'immagine in modo anonimo tramite l'API di Imgur in C#

L'API richiede che ciascun client utilizzi l'autenticazione OAuth 2. Ciò significa che devi registrare la tua domanda e generare un codice_accesso se desideri accedere come utente.

Per le risorse pubbliche di sola lettura e anonimi, come ottenere un'immagine informazioni, alzando i commenti degli utenti, ecc tutto quello che dovete fare è inviare un header autorizzazione con il client_id nelle vostre richieste. Questo anche funziona se si desidera caricare le immagini in modo anonimo (senza che l'immagine sia legata a un account) o se si desidera creare un album anonimo . Questo ci consente di sapere quale applicazione sta accedendo all'API.

Autorizzazione: client-ID YOUR_CLIENT_ID

Così ho aggiunto il client-ID come intestazione alla mia HttpWebRequest. Ecco il mio codice qui sotto.

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("https://api.imgur.com/3/image/id/8ABRUYt"); 
webRequest.Headers.Add("Authorization", "Client-ID XXXXX"); 
Stream response = webRequest.GetResponse().GetResponseStream(); 
StreamReader reader = new StreamReader(response); 
string responseFromServer = reader.ReadToEnd(); 
Console.WriteLine(responseFromServer); 
reader.Close(); 
response.Close(); 

ottengo un errore 404, ma quell'immagine esiste chiaramente ->http://imgur.com/8ABRUYt (Immagine di un bar via lattea). Sto facendo qualcosa di sbagliato?

risposta

3

La prima linea dovrebbe leggere

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("https://api.imgur.com/3/image/8ABRUYt"); 

l'URL corretto è "https://api.imgur.com/3/image/ {id}" - {id} essere il vostro ID immagine.

Il tuo post mi ha aiutato molto a iniziare semplicemente a visualizzare un'immagine da imgur! Vorrei votarti, ma questo richiede 15 reputazione :(Sarò sicuro di ripeterti, quando posso :)

+1

Ho svalutato te e hai svalutato Narabhut perché entrambi siete molto utili. Ora hai abbastanza reputazione per invitare anche Narabhut;) – user1032613