0

1)我尝试按照文档中的描述为我的应用获取访问令牌:

To obtain an App Access Token, invoke the following HTTP GET request

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

The API will respond with a query-string formatted string of the form:

    access_token=YOUR_APP_ACCESS_TOKEN

我得到一个带有奇怪分隔符的访问令牌| 因此:

access_token=568852943149232|ah1X8cAXHKSvFrTrZ4XybG0GzR4

这似乎与文档有冲突,因为第一个参数是 app_id(在符号 | 之前)。

2)然后我尝试使用奇怪的access_token来获取朋友的访问令牌(它需要使不可见的测试用户成为朋友):

https://graph.facebook.com/APP_ID/accounts/test-users?access_token=568852943149232|ah1X8cAXHKSvFrTrZ4XybG0GzR4

它返回:

{
   "error": {
      "message": "(#803) Some of the aliases you requested do not exist: APP_ID",
      "type": "OAuthException",
      "code": 803
   }
}

如果我删除之前的部分 | (包括符号 |)并发出另一个请求,它会返回另一个错误:

{
   "error": {
      "message": "Invalid OAuth access token.",
      "type": "OAuthException",
      "code": 190
   }
}

3)结果我需要从一个用户发出“朋友”请求并从另一个用户做出响应(在此处描述):

https://graph.facebook.com/USER1_ID/friends/USER2_ID?method=post&access_token=TEST_USER_1_ACCESS_TOKEN
https://graph.facebook.com/USER2_ID/friends/USER1_ID?method=post&access_token=TEST_USER_2_ACCESS_TOKEN

我不能这样做,因为我无法在第 2 步获得这些(用户的)访问令牌。

返回应用程序 access_token 是否正确?如果是,如何使用?

Notice please:我从浏览器的地址行拨打电话,应用程序所有者处于登录状态。

4

1 回答 1

2

您需要将 APP_ID 替换为您的实际 APP_ID

这就是您收到此消息的原因。

{
  "error": {
    "message": "(#803) Some of the aliases you requested do not exist: APP_ID", 
    "type": "OAuthException", 
    "code": 803
  }
}

如果您的应用程序 ID 是 568852943149232 并且您的应用程序令牌是 568852943149232|ah1X8cAXHKSvFrTrZ4XybG0GzR4 那么您的电话是

https://graph.facebook.com/568852943149232/accounts/test-users?access_token=568852943149232|ah1X8cAXHKSvFrTrZ4XybG0GzR4

这确实是您的应用令牌,可通过https://developers.facebook.com/tools/access_token轻松验证

于 2013-05-02T14:29:11.007 回答