2017-09-15 48 views
1

我正在使用asp vb.net和instagram api。错误在Instagram API中

我在instagram api上找到了tutorial,但它在c#中。我试图从c#转换到VB最好的,但我出于某种原因,我得到一个错误。

Dim result = client.UploadValues("https://api.instagram.com/oauth/access_token", "POST", parameters) 

我的代码:

Function GetDataInstagramToken() 
Try 
    Dim parameters As New NameValueCollection 
    parameters.Add("client_id", Client_ID) 
    parameters.Add("client_secret", ClientSecret) 
    parameters.Add("grant_type", "authorization_code") 
    parameters.Add("redirect_uri", "http://localhost:8979/UI/InstaHome.aspx") 
    parameters.Add("code", Code) 

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

    'deserializing nested JSON string to object 
    Dim jsResult As JObject = JsonConvert.DeserializeObject(response) 
    Dim accessToken As String = jsResult("access_token") 
    Dim id As Int16 = jsResult("user")("id") 

    'This code register id and access token to get on client side 
    Page.ClientScript.RegisterStartupScript(GetType(String()), "GetToken", "<script>var instagramaccessid=\"" + @"" + id + "" + " \ "; var instagramaccesstoken=\"" + @"" + accessToken + "" + " \ ";</script>") 

Catch ex As Exception 
    myLabel.text += "-" &ex.message 
End Try 
End Function 
+0

检查我的答案我用它,它应该工作 –

回答

0

在这一行

client.UploadValues("https://api.instagram.com/oauth/access_token", "post", parameters); 

You don't send any value to Instagram. If you check your parameter, you can see your key but you Can't see any value.

Error: The Remote Server Returned An Error 400 Bad Request

我在网上收到一个错误试试这个:

public async void GetTokenFromCode() 
    { 
     var values = new Dictionary<string, string> { 
      { "client_id","Your ChatId" }, 
      { "client_secret", "Your Client Secret" }, 
      { "grant_type", "authorization_code" }, 
      { "redirect_uri", "Your Redirect url"}, 
      { "code", "code" } }; 
     var content = new FormUrlEncodedContent(values); 
     var response = await client.PostAsync("https://api.instagram.com/oauth/access_token", content); 
     var responseString = await response.Content.ReadAsStringAsync(); 
}