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

在FB中发布一张照片,使用Python中的GraphAPI,python,image,facebook,facebook-graph-api,post,Python,Image,Facebook,Facebook Graph Api,Post,现在我的工作是做各种各样的广告。 为了做到这一点,我需要在多个facebook群组中发布不同的产品,但这占用了我几乎所有的时间,因此我正在尝试开发自己的帖子机器人,以便我可以立即在所有特定的本地facebook群组中发布我想要的任何内容 我可以在提要中发布文本,但不能让代码发布带有文本的图片。 我得到这个错误: 回溯(最近一次呼叫最后一次): 文件“C:\Users\Ventas\Desktop\Post2.py”,第31行,在 graph.put\u对象(父对象=组id,连接名称=照片,标题=

现在我的工作是做各种各样的广告。 为了做到这一点,我需要在多个facebook群组中发布不同的产品,但这占用了我几乎所有的时间,因此我正在尝试开发自己的帖子机器人,以便我可以立即在所有特定的本地facebook群组中发布我想要的任何内容

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

回溯(最近一次呼叫最后一次):

文件“C:\Users\Ventas\Desktop\Post2.py”,第31行,在 graph.put\u对象(父对象=组id,连接名称=照片,标题=titulo,消息=mensaje,源代码=foto)文件 “C:\Python27\lib\site packages\facebook\uuuuu init\uuuuuu.py”,第144行,在 放置对象 method=“POST”)文件“C:\Python27\lib\site packages\facebook\uuuu init\uuuuu.py”,第272行,在 要求 raise GraphAPIError(结果)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,但文档中并没有明确说明如何在一个小组中发布。 所以我开始在谷歌的最深处搜索,发现

这让我得出了密码的结论,这个奇怪的解决方案天哪,我已经做了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(存储在服务器上的图像)上传图像


请记住,这是我第一次使用Python。我以前使用过其他编程语言,但我是Python的新手,昨天才开始使用它并学习它,所以我可能不了解所有内容。事先问候并感谢大家。你好!谢谢你的回答。但它不起作用,相同的错误出现在控制台中。
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")