如何获取Dailymotion私有播放列表的视频ID?
如何获取Dailymotion私有播放列表的视频ID?
看起来你已经成功完成OAuth认证拿到了access token,但在获取私有播放列表的视频数据时遇到了问题——明明播放列表里有私有视频,却返回了空列表对吧?咱们来一步步解决这个问题:
1. 修正请求URL的参数格式问题
你的请求URL把筛选条件错误地塞进了fields参数里,这是导致返回空列表的核心问题:
原错误URL:
$url = "https://api.dailymotion.com/playlist/xxx/videos?fields=private_id%2Cprivate=true";
fields参数的作用是指定接口要返回的字段(比如private_id),而筛选私有视频需要单独用filter参数。正确的URL应该改成这样:
$url = "https://api.dailymotion.com/playlist/xxx/videos?fields=private_id&filter=private:true";
如果你想同时获取更多视频信息(比如标题、公开状态)来验证结果,可以扩展fields参数:
$url = "https://api.dailymotion.com/playlist/xxx/videos?fields=id,title,private,private_id&filter=private:true";
2. 确认权限与访问合法性
你申请的scope包含manage_playlists和manage_videos,这部分权限是足够访问私有内容的,但还要确保:
- 你用来认证的账号确实是该私有播放列表的创建者,或者被授予了访问权限
- 播放列表的ID(URL中的
xxx部分)填写正确,没有拼写错误
3. 测试修改后的代码
把URL修正后重新运行代码,应该就能获取到私有视频的private_id了。你之前注释的array_column代码也可以解开使用:
$ids = array_column($data['list'], 'private_id'); print_r($ids);
备注:内容来源于stack exchange,提问作者Ophelia




