python - 使用 Python 将本地驱动器(而非 URL)中的照片上传到 Facebook 粉丝页面

标签 python facebook facebook-graph-api

我在 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/

相关文章:

c# - 具有返回值和输出参数的 Python NET 调用 C# 方法

python - 从 EXPLOSM.net 漫画脚本下载 [Python]

ruby-on-rails - 使用设备发送电子邮件确认

reactjs - 如何使用 React Redux 实现 Firebase 身份验证?

python - 如何在 GAE Python 中使用 Facebook Graph API 获取用户电子邮件?

python - boto3 s3 客户端复制函数中可能的 ExtraArgs 值

facebook - 测试插件后暂停 Facebook 帐户

javascript - 用于谷歌浏览器扩展的 Facebook JavaScript API

ios - 来自 Firebase 服务器的 Facebook API 请求

python - 在启动 python shell 时自动执行命令