生成并理解facebook应用程序访问令牌

时间:2014-03-28 13:30:46

标签: php facebook facebook-graph-api facebook-access-token

首先,我使用60天的用户访问令牌在我的网站上获取Facebook页面/群组提要。但我想要一个未过期的访问令牌,因此尝试使用应用访问令牌。应用访问令牌获取很容易必须使用它作为“app id | secret key”格式。但是从Facebook开发者页面,我发现了这篇文章 - https://developers.facebook.com/docs/facebook-login/access-tokens/并且有以下内容 -

To generate an app access token, you need to make a Graph API call:

GET /oauth/access_token?
     client_id={app-id}
    &client_secret={app-secret}
    &grant_type=client_credentials

所以我对这个url进行了服务器端调用,并获得了一个具有“|”格式的访问令牌between.but app id在左侧与之前相同,但在右侧有另一个键与app secret key不同!那是什么意思?这个令牌也没过期吗?以及为什么通过上面的调用生成密钥改变?并且我可以在客户端调用中使用此生成的令牌而没有任何风险,如果任何黑客获得它,他们可以不伤害?

请引导我向正确的方向发展什么是最好的方式获得&使用app access token.Thanks提前

1 个答案:

答案 0 :(得分:1)

app_id|app_secret版本始终有效(并且也是PHP SDK在内部创建应用访问令牌的方式)。

  

这个令牌也过期吗?

应用访问权限没有任何到期时间。

  

以及为什么在上面调用生成密钥时会改变密码?

该令牌的第二部分不是 app_secret - 整个事情只是您应用的访问令牌,您的app_id是第一部分。第二部分是“随机的”(好吧,以某种方式计算为FB的任何一个哈希,但没有你关心的事。)

  

并且我可以在客户端调用中使用此生成的令牌而没有任何风险,如果任何黑客获得它,他们可以不受伤害吗?

当然 - 是一个应用访问令牌,可以用来做所有,可以用名称来完成你的应用。

无论如何获取,都可以在客户端代码中使用从不 访问令牌。