我获得了访问令牌,但在将其交换为长期令牌 api 时出现以下错误
错误:{ message: '不支持的请求 - 方法类型:get', 类型:'IGApiException', 代码:100, fbtrace_id: 'AnMYrIXYSTKYCA_Sh2qKxkU' }
const accessTokenApi = {
url: 'https://api.instagram.com/oauth/access_token',
method: 'post',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
code: code,
redirect_uri: instagramConfig.callbackUrl,
client_id: instagramConfig.clientId,
client_secret: instagramConfig.clientSecret,
grant_type: 'authorization_code',
}).toString(),
};
const tokenResponse = await this.apiCall(accessTokenApi);
const userPlatform = await this.userPlatformService.getUserPlatfromsByCode(userId, "INSTAGRAM");
const userLongLiveTokenApi = {
url:`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&client_secret=${instagramConfig.clientSecret}&access_token=${userPlatform.authToken}`,
method: 'get',
headers:{}
}
console.log(userLongLiveTokenApi)
const userLongLiveTokenResponse = await this.apiCall(userLongLiveTokenApi);
看起来您错过了尝试用
userPlatform.authToken
换取长期存在的代币的机会。但是,您首先需要使用 userPLatform.authToken
中的值更新 tokenResponse.access_token
。或者,直接在您的 userLongLiveTokenApi
请求中使用它。