当前位置: 首页 > 知识库问答 >
问题:

从本地驱动器向Facebook上传视频

陈斌
2023-03-14

我试图从本地驱动器上传视频,但有些什么它不是通过python的请求帖子上传文件

import requests
import json

accesstoken = '-----------------'
desc = 'This is test'
titl = 'Testing Video'
vidfbpath = '/tempvideos/0xjwseCVUlU.mp4'
source = open(vidfbpath, 'rb')

 # need binary rep of this, not sure if this would do it
 fburl = 'https://graph-video.facebook.com/v2.0/1098719680172720/videos?access_token='+str(accesstoken) 
 # put it all together to post to facebook
 m = {'description': desc,
        'title': titl,
        'source': vidfbpath,}

 r = requests.post(fburl, data=m).text
 fb_res = json.loads(r)

输出返回UnsecurePlatformWarning:真正的SSLContext对象不可用。这会阻止urllib3正确配置SSL,并可能导致某些SSL连接失败。有关详细信息,请参阅https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.不安全平台警告

共有1个答案

苏建安
2023-03-14

InsecurePlatformWarning是一个警告,而不是错误。你还是很有机会成功上传你的视频文件的。

实际上,您的代码将发送内容类型为application/x-www-form-urlencoded的POST HTTP请求,并对表单数据进行适当编码。这实际上并没有上载文件,它只是将文件的位置发布在source表单变量中。

我认为您需要使用multipart/formdata的内容类型上传文件,如下所述。指定mp4文件的内容类型也是一个好主意。大概是这样的:

m = {'description': desc,
      'title': titl,}

files = {'source': ('0xjwseCVUlU.mp4', open('/tempvideos/0xjwseCVUlU.mp4', 'rb'), 'video/mp4')}

r = requests.post(fburl, data=m, files=files)
 类似资料:
  • 我正在开发一个应用程序,集成W/Facebook发布视频,然后显示在我们的应用程序之外的FB。 我们有一个应用程序的脸书页面,通过FB Graph API(PHP)上传/发布到FB页面的流/时间线/专辑工作得很好,因为它上传视频,将隐私设置为公共,并将一个故事发布到时间线。(我已经通过应用程序的测试用户测试了非页面管理员发帖。一切顺利。) 目前,如果我发布到我自己的个人资料(使用发布请求到/me/

  • 这是我收到的错误

  • 我正在构建一个iOS应用程序,来自Google的Stream视频驱动视频链接如下所示 https://drive.google.com/file/d/0B2Kri7-TaAFJSlJ4UTJuSElGamM/preview 从上面的URL获取流链接的唯一方法是解码webView超文本标记语言 之后,我得到了webView的超文本标记语言 问题是: 我在超文本标记语言中寻找的是这个“fmt_stre

  • 任何投入都会很有帮助。 谢了!

  • 这段代码运行良好: 有人能帮我修一下密码吗?

  • 我使用以下JCIFS代码将文件从本地磁盘复制到共享驱动器 复制10 mb文件需要10分钟以上。而当我直接复制同一个文件时,大约需要1分钟。我尝试了3种方法来复制文件(请参阅代码的注释部分),但没有一种方法显示出任何显著的差异。 是否有任何方法可以提高JCIFS的性能?