【问题标题】:Facepy unable to upload image to FacebookFacepy 无法将图像上传到 Facebook
【发布时间】:2012-04-05 03:11:41
【问题描述】:

我正在尝试使用Facepy(一种用于 Facebook 和 Python 的 API)来简单地将图像从我的桌面发布到我拥有授权代码和 publish_stream 和 upload_photo 权限的 Facebook 页面。 (更新:我如何验证这是真的?)

它不适合我,尽管它为 Facepy 的作者工作。我不知道是什么导致了这个问题。当我运行此代码时,取自 Facepy 站点(并在我的计算机上使用 .jpg):

更新:这是我正在运行的全部代码:

from facepy import GraphAPI

print 'Trying Facebook page...'
my_token = 'xxxxxxxxxxxxxxxxx'
graph = GraphAPI(my_token)

# Get my latest posts
my_posts = graph.get("me/posts")

 #Post a photo of a parrot
graph.post(path = "me/photos",source = open("python.png"))

print 'Done.'

Facepy 返回此错误:

Error: (#1) An unknown error occurred

我在 WinXP 上使用 Python 2.5 和 Python 2.7 进行了尝试,但未成功。不过,Facepy 可以通过 graph.get('me/posts') 获取我的最新帖子

如果有任何建议可以让它发挥作用,我们将不胜感激。

【问题讨论】:

  • 实际上,我什至面临这个错误。所以,我尝试了这个graph.post(path="me/feed", picture=open("parrot.jpeg).read() 它没有显示任何错误但发布了无效图像。 me/feed
  • @Surya 好的,还没有答案。不确定您是否以这种方式编辑它,但如果您这样做了,请不要编辑标题以包含 Django;也就是说,对于我的问题,无关紧要。谢谢。
  • 嘿,我确实在这个graph.post() 上发挥了所有可能性,并找到了一种工作方法。如果您的图像是 HttpResponse 即网页 URL.. 使用 graph.post(path="me/posts", source=urllib2.urlopen(imag url) ) 这是有效的
  • @Surya 啊,很有趣,但对我来说没有帮助。我想从 我的桌面 上的图像转到 Facebook。如果它已经是在线图像,这意味着我已经将它发布到另一个站点,只需要使用 urllib2 重新读取它,这是荒谬的。我不明白为什么这适用于 Facepy 的作者而不是我们。
  • 您一直在使用哪个访问令牌,您想以用户身份发布到页面还是以页面本身的身份发布?

标签: python facebook-graph-api post photos facepy


【解决方案1】:

我遇到了同样的问题。显然找到了答案。

根据GitHub pagesource参数需要rb模式:

graph.post(
path = 'me/photos',
source = open('parrot.jpg', 'rb')

为我工作(使用 Python 3 和 Graph API 2.8)。

要从 URL 发布,您可以使用url:

par = {
    "caption": "Some text",
    "url": "https://example.com/1.jpg"}

send_post = graph.post(path='me/photos', **par)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 2017-01-29
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多