【问题标题】:With Vimeo API, unable to create new album even with access token and create scope使用 Vimeo API,即使使用访问令牌和创建范围也无法创建新专辑
【发布时间】:2018-09-16 18:09:38
【问题描述】:

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

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

所以,我得到了为用户创建新专辑所需的 create 范围。但是,当我向 Vimeo API 发出请求时,我收到了一个我无法解决或修复的错误。

{
  "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."
  }]
}

这是我发出请求的代码:

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 变量是一个字符串,并且为了确定它实际上是一个字符串,我将请求选项替换为文字选项:

var req_make_album = {
                         "method"        : "POST"
                       , "path"          : "/me/albums"
                       , "name"          : "My First New Album"
                       , "description"   : "My First New Album"
                     };

不过,我收到了上述关于 "name" 字段无效的错误。我在这里想念什么?当我去这个特定端点的 Vimeo API“游乐场”时,它确实有效(即使我通过我的应用程序进行身份验证)但我不明白为什么当我通过 NodeJS 模块发出请求时它不起作用。为什么会出现此错误?

【问题讨论】:

    标签: vimeo vimeo-api


    【解决方案1】:

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

    所以,而不是

    var req_make_album = {
                             "method"        : "POST"
                           , "path"          : "/me/albums"
                           , "name"          : "My First New Album"
                           , "description"   : "My First New Album"
                         };
    

    实际上应该是:

    var req_make_album = {
                             "method"        : "POST"
                           , "path"          : "/me/albums"
                           , "query"         : {"name" : "My First New Album", "description" : "My First Album's Description"
                         };
    

    你知道的越多:)

    【讨论】:

      猜你喜欢
      • 2022-01-21
      • 2021-12-17
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多