Python Facebook从外部链接上传视频

Python Facebook从外部链接上传视频,python,facebook,facebook-graph-api,video,upload,Python,Facebook,Facebook Graph Api,Video,Upload,我正在尝试从外部url向facebook上传视频。但是当我发布它时,我得到了错误。我尝试了当地的视频,一切都很好 我的简单代码是: answer = graph.post( path="597739293577402/videos", source='https://d3ldtt2c6t0t08.cloudfront.net/files/rhn4phpt3rh4u/2015/06/17/Z7EO2GVADLFBG6WVMKSD5IBOFI/main_OUTPUT.

我正在尝试从外部url向facebook上传视频。但是当我发布它时,我得到了错误。我尝试了当地的视频,一切都很好

我的简单代码是:

answer = graph.post(
        path="597739293577402/videos",
        source='https://d3ldtt2c6t0t08.cloudfront.net/files/rhn4phpt3rh4u/2015/06/17/Z7EO2GVADLFBG6WVMKSD5IBOFI/main_OUTPUT.tmp.mp4',
    )
我的错误总是一样的:

FacebookError: [6000] There was a problem uploading your video file. Please try again with another file.
我查看了文档,找到了参数文件的url,但仍然是同一个问题

视频的格式是.mp4,所以应该可以正常工作

有什么想法吗


显然,这个错误消息非常混乱。当你有一个不工作的访问令牌时,这是相同的消息。例如,当我尝试使用我的用户访问令牌而不是使用页面访问令牌时,我收到了此错误消息。

我从未使用过
源代码,我很确定这是用于从他们的API读取视频数据。相反,在将视频文件url传递到Facebook Graph API时,我在有效负载中使用
file\u url

请参阅他们的说明,以了解

tmp.mp4
文件扩展名也可能导致您出现问题。我在使用类似的非典型文件扩展名的有效视频URL时遇到过问题。是否有可能在源代码处更改此选项,使URL不具有
tmp

使用Requests模块将典型的有效负载传递到适用于我的API可能如下所示:

fburl = 'https://graph-video.facebook.com/v2.3/156588/videos?access_token='+str(access)
payload = {'name': '%s' %(videoName), 'description': '%s' %(videoDescription), 'file_url': '%s' %(videoUrl)}
flag = requests.post(fburl, data=payload).text
print flag
fb_res = json.loads(flag)
我也强烈建议你获得一份工作。这是减轻Facebook oAuth过程复杂性的最佳方法


您是否也对要上载的页面拥有正确的权限?您应该使用具有“发布页面”权限的页面访问令牌,如文档所示。是的,我有!我已经检查了所有权限。现在我正面临一个本地文件的问题,他说我没有权限。但是,当我使用图形工具时,我输入了正确的权限,所以我不明白为什么它不起作用。如果我想在页面上发布,我只需要在页面上具有权限的访问令牌,对吗?@DaschPyth您只需要您的访问令牌就可以发布到页面上。你曾经成功发布过视频吗?你检查过你的应用程序权限了吗?我会把你的答案作为一个好答案。我设法在获得良好访问令牌后完成了这项工作。你说的是一个永久性的页面访问令牌,但我在生成它之后无法使它工作。这可能是我的错,因为Facebook oauth token太乱了!Thx顺便说一句:)@DaschPyth获取永久页面访问权是一个多步骤的过程,我试了几次,但如果您使用cURL而不是仅使用请求,它确实有效。