首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Vimeo API,即使使用访问令牌和创建范围也无法创建新相册

使用Vimeo API,即使使用访问令牌和创建范围也无法创建新相册
EN

Stack Overflow用户
提问于 2018-09-17 02:09:38
回答 1查看 470关注 0票数 0

我正在使用Vimeo's official NodeJS API module构建一个应用程序,我可以成功地上传视频而不会出现问题。我还可以成功设置视频的隐私属性。现在,我想将上传的视频移动到一个相册中,如果该相册不存在,我希望自动创建一个。我在应用程序读取的文件中存储了一个访问令牌,授予该令牌的作用域如下所示

"scope": "interact create edit upload delete video_files private public"

因此,我得到了为用户创建新相册所需的create作用域。但是,当我向Vimeo API发出请求时,我得到了一个我无法解决或修复的错误。

代码语言:javascript
复制
{
  "invalid_parameters":[{
      "field":"name",
      "error_code":2204,
      "error":"You have provided an invalid parameter. Please contact developer of this application.",
      "developer_message":"The parameters passed to this API endpoint did not pass Vimeo's validation. Please check the invalid_parameters list for more information."
  }]
}

下面是我发出请求的代码:

代码语言:javascript
复制
if (!album_uri) {

    console.log("Attempting to create a new album named `" + config.params.video.group + "`");

    var req_make_album = {
                            "method"        : "POST"
                          , "path"          : "/me/albums"
                          , "name"          : config.params.video.group
                          , "description"   : config.params.video.group
                        };

    api.request(req_make_album, function(error, body, status_code, headers) {

                if (error)
                   throw new Error(error);

                step();

     })

}

为了确保config.params.video.group变量是一个字符串,并且为了确保它实际上是一个字符串,我将请求选项替换为文字选项,如下所示:

代码语言:javascript
复制
var req_make_album = {
                         "method"        : "POST"
                       , "path"          : "/me/albums"
                       , "name"          : "My First New Album"
                       , "description"   : "My First New Album"
                     };

尽管如此,我还是收到了上面关于"name"字段无效的错误。这里我漏掉了什么?当我访问这个特定端点的Vimeo API“游乐场”时,它确实可以工作(即使我通过我的应用程序进行身份验证),但我不明白当我通过NodeJS模块发出请求时,它为什么不能工作。为什么我会得到这个错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-17 09:38:34

是我的错。问题是Vimeo API要求将项"name""description"作为对象传递。

因此,不是

代码语言:javascript
复制
var req_make_album = {
                         "method"        : "POST"
                       , "path"          : "/me/albums"
                       , "name"          : "My First New Album"
                       , "description"   : "My First New Album"
                     };

它实际上应该是:

代码语言:javascript
复制
var req_make_album = {
                         "method"        : "POST"
                       , "path"          : "/me/albums"
                       , "query"         : {"name" : "My First New Album", "description" : "My First Album's Description"
                     };

您知道的越多:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52357037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档