试图让应用程序访问令牌(trying to get app access token)

2019-06-18 14:04发布

我试图让一个应用程序的访问令牌我这段代码的Facebook应用程序:

APP_ACCESS_TOKEN = FB.api(
    "oauth/access_token",
    {client_id: APP_ID, client_secret: APP_SECRET_CODE, redirect_uri: uri},
    function(response){
    console.log(response);
});

这应该是这样的:

GET https://graph.facebook.com/oauth/access_token?
        client_id=YOUR_APP_ID
       &client_secret=YOUR_APP_SECRET
       &redirect_uri=uri

但我得到一个错误:

code: 1
message: "Missing authorization code"
type: "OAuthException"

什么是授权码,我如何能得到它?

Answer 1:

获得应用程序访问令牌

为了获得一个App访问令牌,可以调用下面的HTTP GET请求:

GET https://graph.facebook.com/oauth/access_token?
            client_id=YOUR_APP_ID
           &client_secret=YOUR_APP_SECRET
           &grant_type=client_credentials

该API将与形式的查询字符串格式化字符串回应:

access_token=YOUR_APP_ID|YOUR_APP_ACCESS_TOKEN

参考: http://developers.facebook.com/docs/opengraph/howtos/publishing-with-app-token/



Answer 2:

https://developers.facebook.com/docs/howtos/login/login-as-app/ :

“因为它需要你有你的App揭秘你不应该试图拨打这通电话的客户端,因为这将暴露这个秘密的所有应用用户。 重要的是,你的应用程序密钥不会与任何人共享。 出于这个原因,此调用应该进行服务器端”

而对于应用程序的访问令牌,这是相同的-你永远不应该使用它的客户端,因为每个用户都可以有现货的话,然后开始用它来代表你的应用程序的执行操作(或更改你的许多应用程序的设置)。

如果你有一个服务器端的一部分,你的应用程序,你可以简单地“建造”的应用程序访问令牌有自己,拼接应用程序ID和秘密与管道符号, app_id|app_secret



Answer 3:

检查的node.js和JavaScript的用户。

getLongLiveToken: function(data){
    FB.api('oauth/access_token', {
        client_id: data.client_id, // FB_APP_ID
        client_secret: data.secret, // FB_APP_SECRET
        grant_type: 'fb_exchange_token',
        fb_exchange_token: data.access_token // USER_TOKEN
    }, function (res) {
        if (!res || res.error) {
            console.log(!res ? 'error occurred' : res.error);
        } else {
            var accessToken = res.access_token;
            if(typeof accessToken != 'undefined'){}
        }
    });
}


Answer 4:

我不知道的是,在代码露出APP客户端密钥是一个好主意,你可以从Facebook工具“访问令牌工具”的APP令牌只是令牌复制到你的代码的任何使用HTTPS://developers.facebook .COM /工具和支持/



Answer 5:

您也可以使用这个帖子端点,而无需生成令牌,只是确保它从哪里app_secret暴露在公众的服务器不是客户端被称为:

https://graph.facebook.com/?id={url}&scrape=true&access_token={app_id}|{app_secret}


文章来源: trying to get app access token