open graph(#15)必须使用app access_token调用此方法。然后2500

时间:2012-11-02 20:10:39

标签: facebook-opengraph

我正在尝试向Facebook发布一个新的开放图表操作,但我似乎无法获得正确的access_token。我已经尝试过app和用户令牌。每次错误告诉我使用另一个。

我实际上正在使用django_facebook,但是对于这个例子,我只是用原始的http来说话。 (顺便说一句,这些应用程序/秘密都是虚假的,无需编辑。)

对于这个例子,我有一个正常工作的开放图形对象,称为“促销”,我在其上运行调试器,这一切都很好。它可以在这样的网站上运行:http://mysite.com/promotion/66306/然后我有一个新的开放图形动作类型(为了举例),我在Facebook上注册了myaction。

这是我尝试过的......

第1步:获取应用访问令牌

https://graph.facebook.com/oauth/access_token?client_id=1111111111&client_secret=my11app22secret&grant_type=client_credentials

返回:

access_token=1111111111|someapptoken

第2步:获取用户令牌

到这里:https://developers.facebook.com/tools/explorer/ 选择我的应用,获取访问令牌,权限为 publish_actions

Access Token:someLongUserToken

第3步:尝试使用用户令牌

curl -X POST -F 'promotion=http://mysite.com/promotion/66306/' -F 'access_token=someLongUserToken' https://graph.facebook.com/me/myapp:myaction
{"error":{"message":"(#15) This method must be called with an app access_token.","type":"OAuthException","code":15}}

第4步:尝试使用应用令牌

curl -X POST -F 'promotion=http://mysite.com/promotion/66306/' -F 'access_token=1111111111|someapptoken' https://graph.facebook.com/me/myapp:myaction
{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}

现在一个很大的线索可能是我还没有获得我的动作类型的“批准”,但是我是应用程序的管理员,所以它应该有效,不是吗?

Approval Status:
Unsubmitted
This Action Type must be submitted for review in order for it to be available to all users. This Action Type is available to admins and developers of the app.

我错过了什么?

谢谢! -Jeff

1 个答案:

答案 0 :(得分:2)

检查操作的设置 - 您可以启用一个选项,要求发布只能使用应用访问令牌 - 如果您启用了那么#15消息是正确的。

您也无法将应用访问令牌与/me快捷方式一起使用,因为“我”是指您正在使用其访问令牌的当前登录用户 - 如果您正在使用应用访问您需要在路径中指定用户ID,而不是使用/me/