Facebook Graph API:在用户页面上发布公开帖子
我正在制作一个与Facebook互动的Django网页应用。
当用户在我的网站上执行某个操作时,我想在他们的动态墙上发布一条公开的帖子。我是这样使用API的:
user.facebook_graph_api.put_object(
'me', 'feed',
message=my_message,
link=my_link,
privacy=json.dumps(
{'value': 'EVERYONE'}
)
)
但是出于某种原因,发布的帖子隐私设置为“朋友”,而不是“公开”,尽管我已经设置了{'value': 'EVERYONE'}
。这是为什么呢?我该如何让它的隐私设置为“公开”呢?
(最开始我怀疑是因为我用的测试用户是我自己,隐私设置为“朋友”,但我又尝试过把隐私设置改为“公开”和“仅自己可见”,结果对应用发布的帖子隐私没有影响。)
1 个回答
0
就像@therewillbesnacks说的那样……
你应用程序请求的默认隐私级别是帖子隐私的上限。
注意:隐私参数只适用于用户自己时间线上的帖子,最终由用户为应用设置的隐私上限决定。
https://developers.facebook.com/docs/reference/api/privacy-parameter/
你需要编辑你应用的默认活动隐私设置,而Facebook把这个设置藏得挺深的。下面是找到它的方法:
- 去你的应用列表(https://developers.facebook.com/apps?view=all_apps)
- 点击你的应用
- 点击“应用详情”
- 向下滚动到“应用中心列出的平台”,然后点击右边的“配置应用中心权限”按钮
- 把“默认活动隐私”改成公开
注意,如果用户更改了这个选项,他们需要先删除你的应用再重新添加,才能把它改回公开。这也是你测试账户需要做的事情。