質問: YouTube ヘルプ フォーラム でも質問をさせていただいたのですが、こちらで質問するように返答をいただいたため、(またYoutubeの公式のアナウンスでもこちらで質問する(!)ようにアナウンスされておりました為)下記に同内容を記載させていただきます。 営利目的ではなく(広告収益を含め) 自分のチャンネルに投稿している動画の一覧をYoutube Data API V3で取得し、 自サイトで埋め込み動画を並べたページを用意しようとしたとき、 アクセスの度にAPIを参照しに行くのは無用にユニットを消費する為、 いたずら目的で意図せず制限数に達してしまうことが懸念されますので APIで取得したデータを一定間隔(数分から1時間程度)でサーバにキャッシングさせて、 そちらを参照する、という形式のプログラムを用意することは、規約上問題ありますでしょうか。 調べた限りでは、APIの概要 には「ETags の使用」について書かれており、 ETagsによるキャッシュは認められていることがわかるのですが、 これが使えない環境(たとえばキャッシュログへの書き込みを許可できない場合など) での物理的なサーバへの保存が認められているか、ということになります。 例えば他社であれば具体的に明記しているサービスもあるようです。 Foursquare API プラットフォームおよびデータ使用ポリシー:(保存の項目参照) Youtube APIでは、規約ページは英語しか用意されておらず、 自動翻訳した限りではどちらともと判断がつかなかったため 過去に同様の事例でやり取りされたことがある、 というような方がもし居られましたら回答いただけますと幸いです。
回答: コメントでも引用されている、利用規約のCachingの節のとおりです。 > > **5. Caching.** Your API Client may employ session-based caching solely of YouTube API results, but You must use commercially reasonable efforts to cause Your API Client to update cached results upon any changes in video metadata. For example, if a video is removed from the YouTube service or made "private" by the video uploader, cached results shall be removed from Your cache. For the avoidance of doubt, Your API Client shall not be designed to cache YouTube audiovisual content. > > > メタデータの一時的な保存に関しては特に触れていませんが、動画の公開状態に追従することが明記されていますので、その点のみご注意されたほうが良いかと思います。