将用户访问令牌与其他应用ID一起使用

时间:2014-03-18 10:11:34

标签: facebook api facebook-graph-api

我正在为移动应用开发一个库。该库是我的Web API(REST)的包装器,并提供了几个对象以便于在代码中实现。

我的API需要社交集成(例如Facebook) - 在我的独立应用程序中,应用程序要求Facebook获取权限并使用API​​将令牌发送到服务器。

问题:

当用户使用主机应用程序(使用我的库的应用程序)并且应用程序使用库API在Facebook上发布内容时,我将从主机应用程序获取用户访问令牌和帖子ID。

在此answer之后(m-farhan发表评论) - 他说当我拥有用户令牌并发布ID时 - 即使没有主机应用密钥,我也可以访问帖子。

我尝试将facebook与我的应用密码连接,设置用户访问令牌而不是使用post_id,获取帖子数据 - 但我遇到以下错误:

  

API参数

中提供的appsecret_proof无效

问题:

有没有办法使用用户访问令牌和我应用中的帖子ID访问帖子数据(不是公开帖子),这与用于实际发布帖子的应用程序不同?

1 个答案:

答案 0 :(得分:0)

用户访问令牌具有一定的有效性。此外,您可以使用应用访问令牌(用于创建帖子的应用)和 post-id 来获取帖子详细信息。

您的应用访问令牌为AppId|App_Secret,且永不过期。或者你也可以用 -

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

(注意,不要暴露您的应用访问令牌,就像您的应用程序的密码一样。)
Reference- App Access Token

我不确定您是如何获取发布数据的,但它是使用该应用令牌向GET发送的简单/post-id请求。例如:https://graph.facebook.com/Post-ID?access_token=APP_ACCESS_TOKEN