使用 Vimeo API 创建/列出子文件夹

问题描述 投票:0回答:2

我正在尝试使用 C# 的 vimeo API。 我成功地使用 vimeo API 创建并列出了 vimeo 文件夹。

但是,我找不到如何使用 API 创建子文件夹和列出子文件夹项目 我看了官方文档,但没有找到相关的API。 我还在 vimeo 网站上测试了我的视频页面,但我可以创建同名的文件夹。

我读过 vimeo 文件夹最初是“project”。 我怀疑 vimeo API 可能还不支持子文件夹系统。

有什么方法可以使用 Vimeo API 处理子文件夹吗?

c# .net vimeo vimeo-api
2个回答
4
投票

Vimeo 的 API 文档创建文件夹缺少重要但可选的参数parent_folder_uri,该参数允许您在父文件夹下创建子文件夹。

https://developer.vimeo.com/api/reference/folders?version=3.4#_essentials

使用与常规创建文件夹请求相同的端点。

POST /users/{user_id}/projects

但是,除了 name 参数之外,还包括 parent_folder_uri ,格式如下。

{ 
  name: "My Subfolder", 
  parent_folder_uri: "/users/{userId}/projects/{parent_project_id}"
}

这是一个奇怪的实现。我不知道为什么你必须将父文件夹的 URL 作为字符串传递,而不仅仅是 project_id,但它可以工作,所以我没有抱怨


0
投票

您必须首先创建一个文件夹,然后从 Json 响应中获取顶级 Uri 文件夹!,并使用此文件夹 Uri 创建子文件夹。

let endpoint = URL(string: "https://api.vimeo.com/me/folders")!
var request = URLRequest(url: endpoint)
 request.httpMethod = "POST"

 let headers: [String: String] = [
  "Accept": "application/vnd.vimeo.*+json;version=3.4",
  "Authorization": "Bearer \(accessToken)",
  "Content-Type": "application/json",
  ]
  request.allHTTPHeaderFields = headers
  let parameters: [String: Any] = [
        "name": "subFolderName",
        "parent_folder_uri": parentFolderUri
    ]
     if let bodyData = try? JSONSerialization.data(withJSONObject: parameters) {
        request.httpBody = bodyData
      } else {
        // Handle JSON serialization error
        print("Error serializing JSON.")
       }
   URLSession.shared.dataTask(with: request) { data , response , error in
        if let error = error {
            print("Error: SubFolder: \(error.localizedDescription)")
        }
        if let data = data {
            if let stringResponse = String(data: data, encoding: .utf8) { 
                print("stringResponseSubFolder: \(stringResponse)")
            }
        }
        if let httpResponse = response as? HTTPURLResponse {
            print("httpResponse: \(httpResponse.statusCode)")
        }
    }.resume()
© www.soinside.com 2019 - 2024. All rights reserved.