繁体   English   中英

使用 Python 中的 GraphAPI 在 FB 中发布照片

[英]Post a photo in FB with GraphAPI in Python

现在我的工作是为不同类型的业务做广告。 为了做到这一点,我需要在多个 facebook 群组中发布不同的产品,但这几乎占用了我所有的时间,所以我正在尝试开发自己的 post-bot,这样我就可以在所有特定的本地发布我想要的任何内容脸书群组立即。

我可以在提要中发布文本,但不能让代码发布带有文本的图片。 我收到此错误:

回溯(最近一次调用最后一次):

文件“C:\\Users\\Ventas\\Desktop\\Post2.py”,第 31 行,在 graph.put_object(parent_object=group_id, connection_name='photos', caption=titulo, message=mensaje, source=foto) 文件“C: \\Python27\\lib\\site-packages\\facebook__init__.py", line 144, in put_object method="POST") 文件 "C:\\Python27\\lib\\site-packages\\facebook__init__.py", line 272, in request raise GraphAPIError (result) GraphAPIError: (#324) 需要上传文件

我不知道我做错了什么,这是我的代码:

#SETUP Photo with file selection dialog
Tkinter.Tk().withdraw()
dir = tkFileDialog.askopenfilename()
photo = open(dir, "rb").read()

#POST IN GROUPS
for group_id in groups:
    print("Posting to " + 'https://www.facebook.com/groups/' + str(group_id))
    graph.put_object(parent_object=group_id, connection_name='photos', caption=titulo, message=mensaje, source=photo)

尝试将图片放在您拥有 .py 脚本的同一个文件中。 然后,执行:

photo = "nameofyourpic.jpg"

而不是:

photo = open(dir, "rb").read()

好的,我尝试了 selenium,这是 facebook 上的一个人向我推荐的,但它没有用,所以我又回到了 python。 我正在玩 api,但是文档中并没有明确说明如何专门在小组中发帖。 所以我开始浏览谷歌最深的部分,发现了这个

它让我得出了代码的结论,该死的解决方案! :D (OMG FINALLY) 我已经在这件事上工作了 4 天了。

我只是改变了这个:

graph.put_object(parent_object=group_id, connection_name='photos', caption=titulo, message=mensaje, source=photo)

对此:

graph.put_photo(image=photo, message=mensaje, album_path=group_id + "/photos")

我还注意到原始文档说值“album_path”应该是:

album_path=group_id + "/pictures" 

但这仅适用于页面。 似乎对于团体来说是:

album_path=group_id + "/photos"

感谢所有愿意阅读我的问题的人,特别感谢来自 facebook 的用户“Jérémy de Gail”和“Amit Singh”,因为没有人愿意尝试帮助我。 这段代码对我的工作非常重要。

希望我自己的回答可以在将来对某人有所帮助。 向大家问好! :D

从新的 API 版本开始,您不能再通过本地路径上传图像,而是通过相对 URL(图像存储在服务器上)。

graph.put_object(parent_object=group_id, connection_name='photos', caption=titulo, message=mensaje, source="https://1.bp.blogspot.com/-VqCH72pVnok/X-WgDpD5jSI/AAAAAAAA20E/pLCoCXR_7tsme8etcjYAOJhNa9GdPh4ewCLcBGAsYHQ/w640-h428/iherb_holiday.png")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM