Tutorial: Zugriff auf Instagram mit C#

Die Instagram API bietet diverse Möglichkeiten: man kann die eigenen Profildaten (z. B. Anzahl der Follower) oder seinen letzten Post auslesen, sich über andere User informieren, automatisiert Likes und Kommentare verteilen und natürlich nach Bilder und Videos suchen (die API bietet jedoch nicht die Möglichkeit, Bilder oder Videos hochzuladen).

In dem heutigen Tutorial werde ich mit Visual Studio und C# meine eigenen Profildaten auslesen und in Erfahrung bringen, wie viele Follower ich gerade habe. Es sind leider nicht viele 🙁

ergebnis

(1) Anwendung registrieren

Zuerst muss man die geplante Anwendung bei Instagram anmelden. Solange man diese nur im „Sandbox-Modus“ betreibt (maximal 10 User) ist kein Review durch das Instagram-Team erforderlich. Trotzdem sollte man sich vorab die Platform Policy durchschauen (die wichtigsten Punkte sind hier zusammengefasst).

Nach der Anmeldung im Instagram Developer Bereich wählt man unter „Manage Clients“ den Punkt „Register a New Client“:

schritt1

Folgende Felder sind auszufüllen:

schritt2

Ein kurzer Name (z. B. „TestApp“), Beschreibung usw. sind erforderlich. Die „Website URL“ ist wichtig und sollte eine Website sein, auf die man nur selbst Zugriff hat (sonst kann das Access-Token über die Logs in fremde Hände kommen, vgl. unten).

Unter „Security“ entfernt man die Checkbox  – dadurch wird die Generierung des Access-Tokes einfacher:

schritt3

Achtung: Durch die implizite OAuth Authentifizierung kann der Betreiber der unter „Website URL“ angegeben Seite (der „Redirect URI“) theoretisch das Access Token in Erfahrung bringen – es sollte also die eigene Website sein. Details zur impliziten Authentifizierung sind hier nachzulesen.

Dann alles speichern und bestätigen und nun sollte unter „Manage Clients“ die registrierte Anwendung zu sehen sein. Hier muss man die „Client ID“ kopieren.

(2) Access Token generieren

In einen beliebigen Browser folgende URL eingeben:

https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token

An der Stelle der CLIENT-ID trägt man die unter (1) ermittelte ID ein, bei REDIRECT-URI muss die ebenfalls in (1) angegebene „Website URL“ eingetragen werden, z. B.

https://api.instagram.com/oauth/authorize/?client_id=12345&redirect_uri=http://www.frank-it-beratung.de&response_type=token

Jetzt sieht man den Instgram-Berechtigungs-Dialog, den man entsprechend bestätigen muss (ggf. Login mit Instagram-Account). Nach der Bestätigung wird die Redirect-URI geladen und nach dem # der Access-Token angezeigt:

http://www.frank-it-beratung.de/#access_token=12345

(3) C#-Anwendung mit Visual Studio erstellen

Folgende C# Windows Anwendung mit einem Texteingabefeld, einem Label und einem Button dient als Beispiel:

schritt4

Wer keine Zeit oder Lust hat, das Projekt selbst zu erstellen, kann dies bei meiner Seite auf Github komplett downloaden.

Der C#-Code für den Button sieht so aus:

string token = textBoxAccessToken.Text.ToString();
string targetUrl 
      = "https://api.instagram.com/v1/users/self/?access_token=" 
      + token;

//WebClient anlegen
WebClient myWebClient = new WebClient();

//Except100 ausschalten, sonst gibt es u. U. Fehlermeldungen
ServicePointManager.Expect100Continue = false;
            
byte[] antwort = null;

try
{
   antwort = myWebClient.DownloadData(targetUrl);
   labelResponse.Text=System.Text.Encoding.ASCII.GetString(antwort);
}
catch (Exception ex)
{
   MessageBox.Show("Fehler: " + ex.Message);
   return;
}

Das war’s schon. Wie bereits erwähnt kann man nicht nur die eigenen Daten auslesen, Details siehe die Endpoint-Doku bei Instagram Developers:

https://www.instagram.com/developer/endpoints/

In meinem nächsten Tutorial erkläre ich, wie man JSON in C# deserialisiert – wen das jetzt schon interessiert kann sich meinen Code auf Github ansehen und kopieren:

https://github.com/simon-a-frank/InstagramTutorial

P.S.

Probleme? Fragen? Anregungen? Ich helfe jederzeit und gerne  – einfach einen Kommentar oder Mail schreiben, die Antwort kommt schnellstmöglich. Unternehmen, die Unterstützung, Beratung oder Schulung bei der API- oder Webprogrammierung, der Social-Media-Entwicklung oder dem Social-Media-Management benötigen finden zudem entsprechende Angebote meiner Firma auf der Website www.Frank-IT-Beratung.de

 

 

Dieser Beitrag wurde unter API, C#, Instagram, OAuth, Programmierung, Social Networks veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen