繁体   English   中英

通过python和Graphapi将图像上传到Facebook墙

[英]Upload images to Facebook wall via python and Graphapi

我正在尝试使用Python和GraphApi将图像发布到用户Facebook墙上。 我可能已经找到答案,那就是我想做的事是不可能的,但我希望不是,所以无论如何我都会寻求帮助。

我可以使用以下方法成功验证身份并将文本发布到墙上:

self.client = GraphAPI(ACCESS_TOKEN)

self.client.put_object(“ me”,“ feed”,message =“在FB墙上张贴的MyText”)

所以我的问题是,必须使用/添加什么参数或配置才能将图像从用户计算机(特别是Windows,但从任何OS)发布到墙上。 我发现了很多对图像的url引用的引用,但是我想直接从桌面发布到墙上。

通过我对graphapi的python实现的研究,我遇到了我提出的这个问题的答案。 从某种程度上可以看出,不可能将图像发布到Facebook墙上(使用URL链接除外)。 用另一种方式来看它是完全可能的。 您要做的是将图像添加到相册,添加图像说明(如果您选择,但不是必需的),该图像将被发布到相册,但它也会出现在Facebook墙上,因此您已将上述图片张贴到墙上。

将图像发布到相册的代码是(我的另一个SO问题对此有所帮助):

caption = "This will be the description of the image in the album and also the message that appears on the wall"  # caption = '' is acceptable if you do not wish to have a message
albumid = ''  # this can be the album id of a facebook album or it can be left blank
with open("test.jpg","rb") as image:
        posted_image_id = GraphAPI.put_photo(image, caption, albumid)

仅供参考,还有一种方法可以在Facebook墙上显示图像,但是我无法使其完全发挥作用,但是如果有人想弄清楚我做错了什么,我会提及它

理论上,如果您知道已经发布的图像的facebook imageid(根据facebook Graph Api文档,您可以使用object_attachment在墙上的帖子上引用该图像。因此代码如下所示:

msg = "This is the message that I want displayed on my wall"
imageid = facebook_image_id  #to get this you will have execute a read via the graph api and select the image you want to "reference" on your wall post
GraphAPI.put_object("me", "feed", message=msg,object_attachment=imageid)

这对我有用,除了看到图像外,我只看到一个空白区域,但是该空白区域是可单击的,单击时会打开正确的facebook图像。 所以我需要弄清楚为什么图像没有出现在墙上,但是现在我不需要了,所以也许有一天我会回到这一点。

暂无
暂无

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

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