Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python在Facebook页面事件上发布图片_Python_Facebook_Facebook Graph Api - Fatal编程技术网

使用python在Facebook页面事件上发布图片

使用python在Facebook页面事件上发布图片,python,facebook,facebook-graph-api,Python,Facebook,Facebook Graph Api,我正在尝试使用python将Facebook事件中的图片发布在我拥有的Facebook页面下,作为拥有页面。我试图这样做作为一个应用程序的管理员 我对这个过程的最好理解(显然还不够好)是,它是一个分两步的过程:1)使用用户令牌(有一个长寿命的令牌)获取目标页面的页面令牌2)使用页面令牌发布内容 大概是这样的: def getFbGraph(accessToken=user_token): return facebook.GraphAPI(access_token=accessToken) pa

我正在尝试使用python将Facebook事件中的图片发布在我拥有的Facebook页面下,作为拥有页面。我试图这样做作为一个应用程序的管理员

我对这个过程的最好理解(显然还不够好)是,它是一个分两步的过程:1)使用用户令牌(有一个长寿命的令牌)获取目标页面的页面令牌2)使用页面令牌发布内容

大概是这样的:

def getFbGraph(accessToken=user_token):
return facebook.GraphAPI(access_token=accessToken)

page_token = getFbGraph().get_object(pageID, fields=['access_token'])

getFbGraph(page_token).put_object(parent_object=eventID, connection_name='photos', message='This is my caption', url=imgUrl)
这将向我显示以下错误消息:

facebook.GraphAPIError: Invalid OAuth access token
相反,如果我尝试将照片作为用户放置(即不使用pageToken),我会收到以下消息:

facebook.GraphAPIError: (#200) Requires extended permission: publish_actions
页面和应用程序的管理员是否无法通过编程发布允许的内容?我不需要其他FB用户这样做(因此需要通过publish_actions权限),我拥有我发布到的所有页面


非常感谢您的评论。

“页面和应用程序的管理员没有办法通过编程发布允许的内容吗?”——当然有——使用页面令牌。您没有以正确的方式传递页面访问令牌,这并不能改变它的工作原理。@CBroe-鉴于我分享了我如何尝试使用页面令牌但失败,这是一条毫无帮助的评论。你能建议正确的方法吗?否则,就我而言,你可以对自己保留这些评论。上面说,你的令牌无效。那么,您是否检查了
page\u token
实际包含的内容…?@CBroe-是的,page\u token包含一个看似有效的访问令牌,其格式与我在page\u token=getFbGraph()中检索用户\u token时使用的格式相似。获取\u对象(pageID,fields=['access\u token'])。然后,当我使用该page_令牌在事件上放置照片时,我会收到无效的OAuth消息。请在此处调试该令牌,以查看它是否实际有效并包含正确的权限: