わかりましたので、YouTube API の onApiReady を介してメタデータを更新しようとすることをあきらめ、https://developers.google.com/youtube/v3/docs/videos/update に示されているように put リクエストの発行に移りました.
ajax リクエストは成功を返しますが、実際にはデータは更新されません。さらに、返される jqXHR は、更新要求が行われる前の元のデータの詳細を示します。デモンストレーション用のサンプルに変換しましたが、まだ機能しません。これがプットリクエストです。
$.ajax({
type: "PUT",
dataType: "jsonp",
url: "https://www.googleapis.com/youtube/v3/videos/?part=snippet&key=<replaced with api key>",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer " + oAuthToken.access_token
},
data: $.parseJSON('{"id": "<replaced with videoId>", "snippet": {"title": "New Title", "description": "New Description"}, "status": {"privacyStatus": "unlisted"}}'),
success: function(data, error, completeError) {
alert("Hallelujah");
}
});
まだ成功したと報告されます。YouTube でデータは更新されず、応答で返されるスニペットには元の値がすべて含まれています。
OAuth2 トークンが認証されている
var scopes = ['https://gdata.youtube.com', 'https://www.googleapis.com/auth/youtube', 'https://www.googleapis.com/auth/youtubepartner', 'http://gdata.youtube.com', 'https://www.googleapis.com/auth/youtube.upload'];
私はこれを何度も繰り返してきましたが、Youtubeが実際にこれを行うことができない(可能性は低い)か、愚かで単純なものが欠けていることを知っています。誰かが助けてくれるなら、私に知らせてください。
ありがとう、
マット