【发布时间】:2012-08-24 19:52:16
【问题描述】:
我尝试了一些关于如何在 Facebook 墙上发布的代码。但我想做一些不同的事情。我想知道在我的 Facebook 粉丝页面上发布。以下代码仅发布在我的个人资料上。谁能给我一个在粉丝页面发布的线索?
#!/usr/bin/python
import facebook
import urllib
import urlparse
FACEBOOK_APP_ID = 'X'
FACEBOOK_APP_SECRET = 'Y'
FACEBOOK_PROFILE_ID = 'MyProfileId (**not page id, right?**)'
oauth_args = dict(client_id = FACEBOOK_APP_ID,
client_secret = FACEBOOK_APP_SECRET,
grant_type = 'client_credentials')
oauth_response = urllib.urlopen('https://graph.facebook.com/oauth/access_token?' + urllib.urlencode(oauth_args)).read()
page_token='PAGE TOKEN GOT INhttps://graph.facebook.com/SITE'
fields=access_token
attach = {
"name": 'Hello world',
"link": 'http://www.example.com',
"caption": 'test post',
"description": 'some test',
"picture" : 'http://www.example.com/picture.jpg',
"page_token" : page_token
}
try:
oauth_access_token = urlparse.parse_qs(str(oauth_response))['access_token'][0]
except KeyError:
raise
print oauth_access_token
facebook_graph = facebook.GraphAPI(oauth_access_token)
try:
response = facebook_graph.put_wall_post('', attachment=attach,profile_id = FACEBOOK_PROFILE_ID)
except facebook.GraphAPIError as e:
print e
【问题讨论】:
-
获取页面访问令牌,并发布到您页面的提要连接。都在 FB 文档中,看看吧。
-
我已经获得了页面访问令牌,但我仍然有问题。首先,我得到“演员是页面的帖子也不能包含 target_id”,然后我从 put_wall_post 中删除了 FACEBOOK_PROFILE_ID,我得到“主题必须是页面。”
标签: python facebook facebook-graph-api