我试图通过Instagram基本显示API恢复访问令牌,但是当试图对测试用户进行身份验证时,我得到了以下错误:
{
"error_type": "OAuthException",
"code": 400,
"error_message": "Invalid platform app"
}我希望看到应用程序授权屏幕。
发布于 2019-10-22 10:40:48
费利斯!
在设置Instagram应用程序时,您应该使用特定于平台的应用程序ID,而不是在Facebook上设置的通用应用程序ID。
在你的Facebook应用程序中,仪表板转到Products > Instagram > Basic Display,应该可以看到Instagram应用程序ID。
在您的授权URL中使用它,它应该可以工作。
发布于 2020-02-20 15:27:19
通过身体和x-www格式-urlencoded传递参数可以很好地工作,如下面的图片所示。

发布于 2020-02-18 18:19:50
我有一个类似的问题,能够通过将请求的内容类型设置为application/x form-urlencoded来解决它。下面是一个c#示例,演示如何执行请求:
public async Task<UserTokenResponseModel> GetUserToken(string code)
{
var url =
$"https://api.instagram.com/oauth/access_token";
var request = new HttpRequestMessage(HttpMethod.Post, url);
var client = _httpClientFactory.CreateClient();
var requestContent = new List<KeyValuePair<string, string>>();
requestContent.Add(new KeyValuePair<string, string>("client_id", ClientId));
requestContent.Add(new KeyValuePair<string, string>("client_secret", Secret));
requestContent.Add(new KeyValuePair<string, string>("grant_type", "authorization_code"));
requestContent.Add(new KeyValuePair<string, string>("code", code));
requestContent.Add(new KeyValuePair<string, string>("redirect_uri", "https://localhost:44315/instagram/authorizecallback"));
request.Content = new FormUrlEncodedContent(requestContent);
var response = await client.SendAsync(request);
var content = await response.Content.ReadAsStringAsync();
if (!response.IsSuccessStatusCode)
{
throw new Exception(content);
}
return JsonConvert.DeserializeObject<UserTokenResponseModel>(content);
}https://stackoverflow.com/questions/58488911
复制相似问题