php - 获取 Dropbox 可共享链接元数据
问题描述
我被分配了一个项目,我需要从一个可共享的链接中获取以下 Dropbox 元数据。我需要获取路径以及共享的文件夹/文件的名称。
例如这里是一个链接https://www.dropbox.com/sh/7tlk1onrl2i7yjk/AABSsM8fWJ9RRmqU_n9ryLoya?dl=0
我需要返回名称“2021_10_03_1236_Audio Guideline”以及路径“/Z_Organisations/Goat_Ltd/Sent/2021_10_03_1236_Audio Guideline”。
我拥有存储要链接的文件夹/文件的保管箱,因此我应该能够获取路径。
我假设我很可能需要使用官方的 Dropbox API 来从链接中获取我需要的元数据,所以我可以阅读的任何示例或资源都会非常有帮助。
解决方案
在搜索 Dropbox API 文档https://www.dropbox.com/developers/documentation/http/documentation后,我设法找到了解决此问题的方法
我写了下面的代码
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.dropboxapi.com/2/sharing/get_shared_link_metadata',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{"url": "' . $dropboxShareableLink . '"}',
CURLOPT_HTTPHEADER => [
'Content: application/json',
'Authorization: Bearer ' . config('app.dropbox.access_token'),
'Content-Type: application/json'
]
]);
$response = curl_exec($curl);
$data = json_decode($response, true);
curl_close($curl);
这是使用get_shared_link_metadata
端点从我在正文中传递的可共享链接中检索元数据。
您还需要在标题中传递您的保管箱 ACCESS_TOKEN 以确保您可以访问链接指向的文件。
注意- 您只能访问您的 ACCESS_TOKEN 有权查看的文件夹/文件的元数据。例如,如果您尝试访问其他人保管箱帐户上的文件,则会收到未经身份验证的错误。
推荐阅读
- python - Gogs 钩子的秘密(无法上 python3)
- java - 如何使用 Java 中的 SSL 套接字确认握手已完成?
- python - TypeError:下一个不支持的可调用(
) - java - 有没有办法了解 spark 如何加载类路径以及以何种顺序?
- perl - Perl:使用 Getopt::Long 从命令行和 [piped STDIN|file] 获取参数
- c# - C# 比较两个包含小写文本的 byte[] 数组
- android - Android:从 Firebase 实时数据库的主线程中同步获取数据
- python - 计算给定列的排列出现次数
- react-native - 如何将平移响应器仅移动到顶部和左侧方向
- amazon-web-services - 如果 S3 存储桶未接收数据,CloudWatch 警报