我在 Stackoverflow 上广泛搜索了答案,但没有找到。我使用下面的代码将照片上传到我的 Facebook 粉丝页面。它有效。
但是,正如您所看到的,attach 字典中的 picture 变量引用了一个 URL。我希望能够上传本地文件(例如“/foo/bar/hello.png”)。当我尝试使用本地路径而不是 URL 时,它会停止执行 .put_wall_post() 时没有打印错误。它只是停止,并且响应没有设置为任何内容。
非常感谢您的意见。
import facebook
import urllib
import urlparse
access_token_page='XXX'
FACEBOOK_APP_SECRET = 'XXX'
FACEBOOK_PROFILE_ID = 'XXX'
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()
attach = {
"name": 'Hello world',
"link": 'http://www.example.com',
"caption": 'test post',
"description": 'some test',
"picture": 'http://somelocation.com/somepicture.png',
}
facebook_graph = facebook.GraphAPI(access_token_page)
try:
response = facebook_graph.put_wall_post('', attachment=attach)
except facebook.GraphAPIError as e:
print e
最佳答案
您需要使用put_photo
上传本地数据的方法。要将其发布到页面,请指定 <page id>/photos
作为album_id
:
f.put_photo(open('picture.jpg'), message='Test photo upload', album_id='140231988803001/photos')
关于python - 使用 Python 将本地驱动器(而非 URL)中的照片上传到 Facebook 粉丝页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22123296/