さて、本題になりますが、上記の検索 (Search)および動画 (Videos)のリクエストで取得できる基本の動画情報(snippet)の公開日(publishedAt)
が、5月上頃からその形式(値)が変更になった模様です。
6月3日現在のGoogleサイトでは公開日(publishedAt)はつぎのように表示されています。
2020年6月3日Googleサイトよりキャプチャー
しかし、現在ある動画IDの動画公開日(publishedAt)を取得するとつぎの形式の値がリターンされます。
2011-05-13T16:54:56Z (注;ミリ秒(3桁).sss が無い)
この公開日(publishedAt)の形式の変更により、javascriptの文字列を分割し配列化するsplitメソッドなどで、区切り文字に"."(ドット)を用い、秒(mm)の値を取得するロジックを入れているとエラーが発生します。
▼動画ID=MEmvk3ZSs0Mの公開日(snippet.publishedAt);
▼videosリソースJSON構造体(JSON返却データ);
<html>
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="/module/include/strm/youtubedataapi_v3_list/style.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
var API_KEY = 'APIキー'; // APIキー 事前登録で取得
var url = 'https://www.googleapis.com/youtube/v3/videos?id=MEmvk3ZSs0M&part=snippet,contentDetails,statistics,status&key=' + API_KEY;
var s0;
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
success: function(data){
var s = JSON.stringify(data);
$("#results2").append(s);
var s0 = JSON.parse(s);
publishdate= s0.items[0].snippet.publishedAt;
$("#results").append(publishdate);
}
});
</script>
</head>
<body>
<div id="results"></div><!--publishedAt-->
<hr>
<div id="results2"></div><!-- JSON返却データ-->
</body>
</html>
 ソーシャルボタン関連サイト内リンク
最終更新日:2020.6.3(Debut) |