在Google Script中创建一个等价的Python请求



我试图在Google Script中上传视频url到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)

我得到了一个成功的回应,但似乎我得到了我的帐户上现有视频的列表,没有视频上传。任何人都可以提供任何洞察我如何可以重新配置我的谷歌脚本设置。谢谢你!

你的Python代码显示了一个POST请求,但是Apps ScriptUrlFetchApp.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)
参考:

  • UrlFetchApp。fetch (url, params)

最新更新