试图获取应用访问令牌

Fra*_*ler 42 facebook access-token

我尝试使用以下代码获取我的Facebook应用程序的app-access-token:

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);
});
Run Code Online (Sandbox Code Playgroud)

应该是这样的:

GET https://graph.facebook.com/oauth/access_token?
        client_id=YOUR_APP_ID
       &client_secret=YOUR_APP_SECRET
       &redirect_uri=uri
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

code: 1
message: "Missing authorization code"
type: "OAuthException"
Run Code Online (Sandbox Code Playgroud)

什么是授权码,我该如何获得?

小智 69

获取App Access令牌

要获取App Access Token,请调用以下HTTP GET请求:

GET https://graph.facebook.com/oauth/access_token?
            client_id=YOUR_APP_ID
           &client_secret=YOUR_APP_SECRET
           &grant_type=client_credentials
Run Code Online (Sandbox Code Playgroud)

API将使用以下形式的查询字符串格式化字符串进行响应:

access_token=YOUR_APP_ID|YOUR_APP_ACCESS_TOKEN
Run Code Online (Sandbox Code Playgroud)

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

  • 什么是client_credentials? (6认同)
  • 更新链接:https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens (4认同)
  • 截至4/27/17,api响应格式已更改,并返回"{"access_token":"YOUR_APP_ID | YOUR_APP_ACCESS_TOKEN","token_type":"bearer"} (3认同)

CBr*_*roe 46

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

"因为它要求你包含你的App Secret,所以不应该尝试在客户端进行此调用,因为这会向所有应用用户公开这个秘密.重要的是,您的App Secret永远不会与任何人共享.出于这个原因,这个调用应该在服务器端执行"

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

如果您的应用程序有服务器端部分,您可以自己"构建"应用程序访问令牌,使用管道符号连接app id和secret app_id|app_secret.

  • @CBroe感谢分享`app_id | app_secret`连接方法,即拥有**永久访问令牌**.我正在寻找几个小时来回答这个问题. (12认同)
  • 非常感谢有关如何创建访问令牌的信息! (3认同)
  • 谢谢!帮助很多! (2认同)
  • 当然他们可以,没有"隐藏"客户端脚本. (2认同)