我正在尝试生成一个应用令牌。
当我阅读文档时,我了解到这是一个GET调用
GET /oauth/access_token?
client_id={app-id}
&client_secret={app-secret}
&grant_type=client_credentials
所以我决定在Graph API资源管理器上测试它我的网址如下:
oauth/access_token?client_id={'XXXXXXXXXXXXX'}&client_secret={'XXXXXXXXXXXXXXXXX'}&grant_type=client_credentials
但我得到了这个错误:我从仪表板中获取了client_id,所以我不知道为什么。
{
"error": {
"message": "Error validating application. Invalid application ID.",
"type": "OAuthException",
"code": 101
}
}
所以我不知道我错过了什么或困惑了什么。
我有一个基本相同的函数,但使用了api,得到了一个不同的错误。
功能
function token(){
FB.api('/oauth/access_token', 'GET', { client_id: 'xxxxxxx',client_secret: 'xxxxxxxx',grant_type: 'client_credentials' }, function(response) {
if (!response || response.error) {
console.log(response);
alert('Error occured');
} else {
token1=response;
console.log(response);
}
});
}
错误
Uncaught ReferenceError: RwuSu43k_afkprBJ8BuwlCDuxdA is not defined access_token?access_token=CAAEceA3wr9MBALoGOmjrSyhJAeZCWWT301Tf5Ypl8xPL9WCgzTJbusfTPpzrda475mVQznUf…:1(anonymous function) access_token?access_token=CAAEceA3wr9MBALoGOmjrSyhJAeZCWWT301Tf5Ypl8xPL9WCgzTJbusfTPpzrda475mVQznUf…:1
Object {error: Object}error: Objectmessage: "unknown error"type: "http"__proto__: Object__proto__: Object index.html:84
知道我为什么得到这个吗?根据文档,我可以只传递应用程序id,但我想生成令牌。
还有一种方法可以调用Graph API需要使用生成的应用令牌。你只需传递你的应用id当你调用时,应用程序机密作为access_token参数
正如@luschn所说,应用程序访问令牌只是通过管道符号与应用程序密钥连接的应用程序ID
{app_id}|{app_secret}
你不需要"生成"id。你可以开箱即用地使用应用程序的数据。