gpt4 book ai didi

facebook-graph-api - Facebook OpenGraph : Submitting an new action

转载 作者:行者123 更新时间:2023-12-04 07:59:51 26 4
gpt4 key购买 nike

我刚刚开始使用 Facebook SSO 和 OpenGraph。我的 iOS 应用程序使用 SSO,现在我开始了解如何发布 OpenGraph 操作。

我已经设置了一个新的操作类型,我需要提交它。当我这样做时,我得到了错误:

You must publish at least one action to your Timeline using this action type. Review the documentation.

好的,所以我点击了有用的文档链接,它告诉我我想这样做:

https://graph.facebook.com/me/recipebox:cook?recipe=http://www.example.com/pumpkinpie.html&access_token=YOUR_ACCESS_TOKEN

所以我把它翻译成这样:

https://graph.facebook.com/me/fotoferret:hug?ferret=http://www.example.com/pumpkinpie.html&access_token=MY_ACCESS_TOKEN

fotoferret是我的命名空间,拥抱是我的行动

其中 MY_ACCESS_TOKEN 是返回值:

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

当我粘贴翻译后的 URL 时,我收到此错误:

{
"error": {
"message": "An active access token must be used to query information about the current user.",
"type": "OAuthException",
"code": 2500
}
}

这一点我很困惑。我已经尝试将一个 Action 发布到我的时间线,但它告诉我我需要一个我提供的事件访问 token 。那么我该如何发布一个 Action 呢?

最佳答案

当使用应用程序访问 token 时,请使用用户 ID 而不是 /me。您是代表应用而不是直接代表用户执行操作。

用户访问 token

https://graph.facebook.com/me/fotoferret:hug?ferret=http://www.example.com/pumpkinpie.html&access_token=MY_ACCESS_TOKEN

应用访问 token

https://graph.facebook.com/ID/fotoferret:hug?ferret=http://www.example.com/pumpkinpie.html&access_token=MY_ACCESS_TOKEN

当使用 Graph Explorer 时,一定要将选项切换到 POST 而不是获取 GETGET 是默认设置的,因此它将返回操作而不是创建操作。

或者使用 cURL

curl -F 'access_token=MY_ACCESS_TOKEN' \
-F 'ferret=http://www.example.com/pumpkinpie.html' \
https://graph.facebook.com/ID/fotoferret:hug

如果您启用了“Requires App Token to Publish”并获取

{"error":{"message":"(#15) 必须使用应用访问 token 调用此方法。","type":"OAuthException","code":15}}

表示你正在使用

curl -F 'access_token=MY_ACCESS_USER_TOKEN' \
-F 'ferret=http://www.example.com/pumpkinpie.html' \
https://graph.facebook.com/me/fotoferret:hug

使用 MY_APP_TOKEN。如果你得到了,

{"error":{"message":"必须使用事件访问 token 来查询有关当前用户的信息。","type":"OAuthException","code":2500}}

表示你正在使用

curl -F 'access_token=MY_APP_TOKEN' \
-F 'ferret=http://www.example.com/pumpkinpie.html' \
https://graph.facebook.com/me/fotoferret:hug

你应该使用数字id

curl -F 'access_token=MY_APP_TOKEN' \
-F 'ferret=http://www.example.com/pumpkinpie.html' \
https://graph.facebook.com/ID/fotoferret:hug

如果你得到

{"error":{"message":"(#200) 需要扩展权限:publish_actions","type":"OAuthException","code":200}}

用户在他们的设置中没有我/权限的 publish_actions 操作,它应该作为 "publish_actions": 1 如果没有,通过选择 "Get Access Token"授予权限"并选择(您也必须更改以适应您的应用代码范围)

关于facebook-graph-api - Facebook OpenGraph : Submitting an new action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10624377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com