我正在尝试整合用户页面的实时更新。我在给定的主机网址上运行回调。创建订阅后:
G = facebook.GraphAPI()
app_token = config['FACEBOOK_APP_ID'] + '|' + config['FACEBOOK_SECRET']
path = config['FACEBOOK_APP_ID'] + '/subscriptions'
post_args = {'access_token' : app_token, 'callback_url' : HOST, 'fields' : 'feed', 'object' : 'page', 'verify_token' : 'token'}
G.request(path, post_args=post_args)
这似乎工作得很好并且创建了订阅。在此之后,对于给定的用户,我获得带有perms的oauth凭证= [" publish_stream"," offline_access"," manage_pages"," publish_actions" ," read_stream"]
使用此访问令牌,我通过将应用添加到页面标签来进行订阅:
G = facebook.GraphAPI(access_token)
path = "/%s/tabs" % page['id']
G.request(path, post_args={'app_id' : config['FACEBOOK_APP_ID']}
现在事情正常......等等。首先,我不确定facebook测试应该如何在实践中发挥作用。基本上我使用开发者页面上的应用程序设置创建了一堆测试用户。然后使用其中一个用户,我创建了两个单独的页面Page1,Page2,我将这个应用程序注册为这些页面上的选项卡。从测试用户或我创建应用程序的真实用户发布的帖子被选中。但是我尝试从一些其他真实用户中找到一个页面(所以不是测试版,而不是我创建应用程序的那个),我不能。即使我复制粘贴整个网址,我也只是重定向到第一页。这些页面是否仅在我自己的测试应用/用户上下文中可见?我应该从我的真实账户创建一个页面并进行测试吗?我只是好奇我将如何在真实设置中进行测试。 我是否会在该页面上收到所有评论/帖子,无论是发布帖子的用户还是仅来自该页面的页面/管理员的帖子?
我遇到的另一个问题是从某个用户创建评论。因此,我使用了上面提到的完全相同的访问令牌,并且有人发帖,我想以该帖子的评论形式发出回复。我有facebook帖子ID,所以我只是:
graph = facebook.GraphAPI(access_token)
graph.put_comment(facebook_post_id, message)
假设我使用来自TestUser1的访问令牌在他自己的页面Page1上发布的帖子上发出此命令。我希望评论可以代表TestUser1发布,而是代表Page1发布。这是否是我使用的令牌的副作用?我在这里阅读https://developers.facebook.com/docs/facebook-login/access-tokens/有用户访问令牌和页面访问令牌;但我没有使用' manage_pages'来尝试完全相同的令牌。烫发,仍然得到同样的东西。
干杯,波格丹