使用 Vimeo API,即使使用访问令牌和创建范围也无法创建新相册
With Vimeo API, unable to create new album even with access token and create scope
我正在使用 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 "playground" 时,它确实有效(即使我通过我的应用程序进行身份验证时)但我不明白为什么在我发出请求时它不起作用通过 NodeJS 模块。为什么会出现此错误?
我的错误。问题是 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"
};
你知道的越多:)
我正在使用 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 "playground" 时,它确实有效(即使我通过我的应用程序进行身份验证时)但我不明白为什么在我发出请求时它不起作用通过 NodeJS 模块。为什么会出现此错误?
我的错误。问题是 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"
};
你知道的越多:)