【问题标题】:Creating a Python Request Equivalent in Google Script在 Google Script 中创建等效的 Python 请求
【发布时间】:2021-06-05 21:43:38
【问题描述】:

我正在尝试将视频网址上​​传到 Google Script 中的 Vimeo。我已经在我的 Python/Django 应用程序中成功设置了以下内容:

url = 'https://api.vimeo.com/me/videos'
headers = {'Authorization': 'bearer xxx',
           'Content-Type': 'application/json',
           'Accept': 'application/vnd.vimeo.*+json;version=3.4'}

data = {'upload': {'approach': 'pull',
        'link': 'https://video.mp4'}}

requests.post(url, headers=headers, data=json.dumps(data))

我尝试在 Google Scripts 中尽我所知创建等效的内容,如下所示:

var url = 'https://api.vimeo.com/me/videos'
var headers = {
'Authorization': 'bearer xxx', 'Content-Type' : 'application/json', 'Accept' : 'application/vnd.vimeo.*+json;version=3.4'}

var data = {'upload' :{ 'approach' : 'pull','link' : 'https://video.mp4'}}
var options = {
  headers:headers,
  data:data,
}

var response = UrlFetchApp.fetch(url,options)

我收到了成功的回复,但我似乎在我的帐户中获得了现有视频的列表,并且没有上传任何视频。任何人都可以提供有关如何重新配置​​我的 Google 脚本设置的任何见解。谢谢!

【问题讨论】:

    标签: python django google-apps-script vimeo


    【解决方案1】:

    您的 Python 代码显示 POST 请求,但 Apps 脚本 UrlFetchApp.fetch() 请求未指定方法,因此默认为 GET 请求。 要使其成为 POST,请在选项中包含 method: 'post'

    另外,正在发布的数据应在选项中标记为payload

    var url = 'https://api.vimeo.com/me/videos'
    var headers = {
    'Authorization': 'bearer xxx', 'Content-Type' : 'application/json', 'Accept' : 
    'application/vnd.vimeo.*+json;version=3.4'}
    
    var data = {'upload' :{ 'approach' : 'pull','link' : 'https://video.mp4'}}
    var options = {
      method: 'post', // Add this line
      headers:headers,
      payload: JSON.stringify(data), // Change this line. 
    }
    
    var response = UrlFetchApp.fetch(url,options)
    

    参考:

    【讨论】:

    • 它最终变得有必要进行字符串化并像魅力一样工作。谢谢。
    • 很高兴它帮助了@iampre409。我编辑将字符串化放在我的答案的主要部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2014-10-15
    相关资源
    最近更新 更多