小编Ign*_*nat的帖子

如何在9月12日之后观看以后的播放列表细节?

今天,在YouTube的修订历史页面上说明了这一点

频道资源的contentDetails.relatedPlaylists.watchHistory和contentDetails.relatedPlaylists.watchLater属性仅对授权用户检索有关用户自己频道的数据可见.2016年9月12日之后,contentDetails.relatedPlaylists.watchHistory将返回HL值,而contentDetails.relatedPlaylists.watchLater属性将返回所有通道的WL值.

检索频道观看历史记录的播放列表详细信息(playlists.list)或观看稍后播放列表的请求将在2016年9月12日之后返回空列表.在这些播放列表中检索播放列表项目(playlistItems.list)的请求也将返回空在那之后的名单.这适用于新值,HL和WL,以及您的API客户端可能已存储的任何观看历史记录或观看以后的播放列表ID.

我有一个(ok-working)扩展程序,现在唯一的功能就是显示YouTube播放列表的总时长.现在你必须刷新页面(任何带有播放列表的页面)才能显示长度.我使用playlists.listplaylistItems.list获取播放列表中每个视频的长度详细信息,您可以在此处查看源.(顺便说一下,你应该完全评论我的代码质量,我喜欢反馈)正如你从修订版中看到的那样,这个扩展在9月12日之后无法用于观看后来的播放列表.

无论如何,我的扩展程序最有用的案例是看看以后的播放列表需要多长时间.目前我知道我需要4天17小时7分钟和10秒才能观看我手表后期播放列表中的所有365个视频.9月12日之后,我将无法了解这些信息.

我怎么能得到关于我的手表后来的播放列表的信息呢?我打了哪个资源?YouTube是否会采用下一个合理的行动方案来处理他们的后端,只是为了增加观看播放列表的总时间长度playlist.list


youtube youtube-api youtube-data-api

15
推荐指数
1
解决办法
1514
查看次数

Xcodebuild在jenkins中失败了cocoapods

我正在使用xcode插件.我环顾四周,但大多数"解决方案"都没有用.

我的主要问题是,在生成的xcworkspace中,我正在尝试构建的项目没有方案.该插件执行命令

$ /usr/bin/xcodebuild -list -workspace Project.xcworkspace

输出只显示Pod的方案,而不是主要的项目方案.

Information about workspace "Project": Schemes: Pods Pods-AFNetworking Pods-Bolts Pods-Facebook-iOS-SDK

我有cocoapods buildstep pod install

我把它作为Xcode插件配置:目标:项目,构建前清理,配置:调试,Xcode架构文件:项目,Xcode工作区文件:项目,构建输出目录:$ {WORKSPACE}/build.

这是打印出来的错误:

Going to invoke xcodebuild:, scheme: Project, sdk: DEFAULT, workspace: Project, configuration: Debug, clean: YES, archive:NO, symRoot: DEFAULT, configurationBuildDir: /Users/ignat/.jenkins/workspace/Project/build, codeSignIdentity: DEFAULT
[Project] $ /usr/bin/xcodebuild -scheme Project -workspace Project.xcworkspace -configuration Debug clean build CONFIGURATION_BUILD_DIR=/Users/ignat/.jenkins/workspace/Project/build
Build settings from command line:
    CONFIGURATION_BUILD_DIR = /Users/ignat/.jenkins/workspace/Project/build

xcodebuild: error: The workspace 'Project' does not contain a scheme named 'Project'.
FATAL: Build directory …
Run Code Online (Sandbox Code Playgroud)

terminal xcode jenkins cocoapods xcode-workspace

13
推荐指数
1
解决办法
1万
查看次数

youtube v3 Data api对你可以发送到videos.list的id数量有限制吗?

我想获得youtube播放列表的总播放时间,因此首先我请求播放列表中每个元素的视频ID,然后我请求所有视频的持续时间.

播放列表返回的项目数量有限制,即50,因此我必须发出多个请求,直到我到达播放列表的末尾.

Youtube的Data API v3/videos/list的文档条目表示,在idapi 的参数中,您可以列出多个视频ID,并且pageToken"不支持与id参数一起使用".所以我应该能够发送超过50个id来获取整个集合,但是当我这样做时,我得到400响应,消息"请求指定了无效的过滤器参数"("invalidFilters").

您可以发送的身份证号码是否有限制?如果是这样,它是什么?

javascript api youtube-api youtube-data-api

9
推荐指数
1
解决办法
1805
查看次数

如何在Youtube v3 Data API中使用Etags?

我正在构建一个扩展,它提出了很多请求.我正在处理的功能是显示观看播放列表所需的总时间.给定大小为1000的播放列表,我必须发出40个请求才能找到这些信息(50个视频在一个时间限制,第一次调用/ v3/playlistItems用于一组videoID,第二次调用/ v3 /视频用于持续时间信息) .据我所知,只有一个播放列表,我失去600个配额.每页加载.我知道,没有什么可以解决的,因为我每天允许50,000,000配额,但我想尽早优化.这也是一个速度问题.只需要一段时间就可以获得播放列表长度.

现在,ETags.出于某种原因,每当我向youtube的视频或播放列表项目的数据API发出请求时,我都会得到一个全新的Etag(大部分时间,我都有过返回相同ETag的情况),无论播放列表如何(我没有试过私人播放列表,还没有OAuth呢).我假设原因是播放列表中的某些地方正在发生变化,导致新的Etag非常快.看法?PlaylistItems甚至不返回视图!

以下是对通心粉播放列表的示例API调用.ETag总是与众不同!如果他们不工作,我该如何使用它们?它们是特定的,视频长度无法在请求之间发生变化.api键被省略,因为您可以创建自己的api密钥.

```
Playlist Items, give me video id's, page tokens, and Etag for playlist for items 100-150
https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&playlistId=PLF-hTvh6KCehzImlI2pAKsOFPR62QZTv-&fields=etag%2Citems%2FcontentDetails%2CnextPageToken%2CprevPageToken&key={YOUR_API_KEY}&pageToken=CGQQAA

Videos, give me durations and Etag for these video ids
https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=SswxpqGX1F0,3Hy5BuFTBbI,ZnlW1fSXZZM,8sb_YOrReZ4,6IN_mupBjh8,VzoqsRLY5Qk,5m8H9YrPvPA,JdRbtGdR68E,hEzPBiYPsDU,bJuioKFYv-c,1N8O8OOG2_U,QDgqSL8nU5U,gP4gB45Z52M,pI1oB2y9c0M,WZGn5Vh_mc4,A0KpbS5WjSU,b0yoIOX8Bk0,5Y7iQt7vtOE,qIijCwjUApQ,RgHjqvznjxg,QzceROWtn5o,8z0VnMQFGR8,5olHoTWB1Hw,vz0T59Ql7fQ,LhktiZYQraU,WIuuZOD9ahI,rwEHW6GRH1Q,FjT1BpKvfgo,FRZL2yaZyZk,U5-vjCDwDUU,b21Lj9bfDWc,yox3-U7r_i8,rXJ5ph83Vrs,nXrk2finMcA,VfagTkQWHuI,K_ZaRAtZQOg,_JIcREsn9pU,y9WGvudeDAM,O08jNtrieI4,9UkEzW1AY7Y,jOaBdnYsobg,y7dSbhc-8h0,IfpPiCGcF8g,2rTRmb9nKbY,bHgv3A26O6Y,hFQmV-zvcbM,Osc4y45oQxw,GHusS6Yd5A8,T2Z3CuUWUQc,OPV-DopMqxs&fields=etag%2Citems%2FcontentDetails%2Fduration&key={YOUR_API_KEY}
```
Run Code Online (Sandbox Code Playgroud)

我想缓存这些数据.我正在考虑为播放列表的总视频制作额外的开始请求,因为这与播放列表的总时间长度直接相关.但这感觉就像很多逻辑.添加/删除了哪些视频?多少?如果它被添加到开头,我想要优化,我必须将前50个视频ID与我的缓存视频ID持续时间进行比较.如果它在中间某处改变了,我必须继续查询.也许缓存别的东西让这更容易?多个播放列表可以拥有相同的视频,播放列表可以不止一次拥有相同的视频,我不知道.也许没有办法查询整个播放列表,也许我应该将调用缓存到/ v3/videos.问题是我想优化对/ v3/playlistItems的调用,因为它是长的(占/ 3 /视频的3倍).

我的主要问题是:我如何缓存以优化获取播放列表的长度,我该怎么做,以及ETag的内容是什么?

javascript etag caching youtube-data-api

6
推荐指数
1
解决办法
1314
查看次数