2016-07-01 20 views
2

Mein Windows-Dienst ist sammeln Instagram-Daten von Instagram API. Ich benutzte client_id, aber dieses verwendet Format wird entfernt.Erhalte access_token mit der Windows Service- oder Konsolen-App. für Instagram Api

Instagram API ist wollen access_token aber Oauth 2.0 ist web-basiert. oder nicht?

Ich benutze .NET und meine Anwendungstyp ist Windows-Dienst und Web-Anfrage funktionieren nicht, weil diese Aufruf-URL: "https://www.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code" haben eine weitere Umleitung enthalten. so Web-Antwort nicht meine Web-Anwendung enthalten Link auch automatische Umleitung ist offen ..

was soll ich tun?

Dank ..

Antwort

3

Schritte instagram Zugriffstoken registrieren ur Anwendung in instagram Konto zu erhalten. erhalten Sie eine Client-ID und ein Client-Geheimnis.

Schritt 1: HIT die folgende URL.

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

Schritt 2: nach oben url schlagen werden Sie zum Login-Seite genommen. Geben Sie die Anmeldedaten ein und nehmen Sie den Code von der Adressleiste. wird es für nur 20 Sekunden live sein, denke ich.

Schritt 3: Der Code, den Sie es in CODE-Parameter im folgenden Quellcode setzen, dann führen Sie den folgenden Code in der Konsolenanwendung n Hit Breakpoint bei Antwort. Sie erhalten Zugriffstoken und Benutzer-ID.

public void GetDataInstagramToken() 
    { 
     try 
     { 
      NameValueCollection parameters = new NameValueCollection(); 
      parameters.Add("client_id", "CLIENT-ID"); 
      parameters.Add("client_secret", "CLIENT-Secret"); 
      parameters.Add("grant_type", "authorization_code"); 
      parameters.Add("redirect_uri", "REDIRECT-URI"); 
      parameters.Add("code", "CODE"); 

      WebClient client = new WebClient(); 
      var result = client.UploadValues("https://api.instagram.com/oauth/access_token", "POST", parameters); 
      var response = System.Text.Encoding.Default.GetString(result); 

      // deserializing nested JSON string to object 
      var jsResult = (JObject)JsonConvert.DeserializeObject(response); 
      string accessToken = (string)jsResult["access_token"]; 
     } 
     catch (Exception) 
     { 
      //exception catch 
     } 
    }