2016-07-01 68 views
2

我的windows服務是從instagram api收集instagram數據。我使用的是client_id,但是這種使用格式已被刪除。使用Windows服務或控制檯應用程序獲取access_token。對於Instagram Api

Instagram的API是想access_token但Oauth 2.0是基於Web的。或不?

我使用.NET和我的應用程序類型是Windows服務和Web請求不起作用,因爲此調用URL:「https://www.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code」有一個包含重定向。所以網絡響應沒有包含我的web應用程序鏈接也自動重定向打開..

我該怎麼辦?

謝謝..

回答

3

步驟獲得Instagram的訪問令牌 註冊UR在Instagram的開戶申請。 獲取客戶端ID和客戶端密鑰。

第1步:HIT下面的網址。

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

第2步:打上面的網址後,你將採取到登錄頁面。輸入登錄憑據並從地址欄中獲取代碼。 我猜只能活20秒。

第3步:代碼您將它放在下面的源代碼中的CODE參數中,然後在控制檯應用程序中運行下面的代碼n在響應中命中斷點。您將獲得訪問令牌和userid

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 
     } 
    } 
相關問題