YouTube api v2.1无法将视频ID作为json对象发布到播放列表 - javascript

时间:2013-04-26 19:01:33

标签: javascript api post youtube

当我使用javascript / jquery将视频ID对象发布到youtube播放列表时,我收到400错误无效的JSON。 对象是:

 { "video":
        {
         "id": "me21QEpg760"
        }
 }

ajax请求:

 $.ajax({
    type: 'POST',
    url: "https://gdata.youtube.com/feeds/api/playlists/" + plistId + '?v=2&alt=jsonc',
    data: {
          "video":
                 {
                   "id": "me21QEpg760"
                 }
          },
    dataType: 'jsonc',
    beforeSend: function(xhr){
        xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8');
        xhr.setRequestHeader('Authorization', 'AuthSub token="' + Video.token + '"');
        xhr.setRequestHeader('X-GData-Key', 'key="' + Video.dev_key + '"');
        xhr.setRequestHeader('GData-Version', 2);
    },
    scope: 'https://gdata.youtube.com',
    error: function(data, textStatus, errorThrown) {
      console.log(data);
    }
 });

我使用经过验证的dev_key和访问令牌使用oauth2进行了身份验证。我对GET请求没有任何问题 - 我可以很好地提取播放列表和视频信息。

我尝试更改播放列表前缀 - 从播放列表ID中删除“PL”,但我仍然得到相同的结果 YouTube Playlist API no longer functioning?

此外,尝试发布到16个字符与32的播放列表。没有区别 Youtube API: Adding videos to a playlist with the new 32 character playlist ID

我正在使用api v2.1,因为有更多关于在youtube上使用api的文档。 v3文档中有更多google plus示例。我对使用v3很感兴趣,但可以使用一些特定于youtube的javascript示例来降低语法。

我验证了我传入的对象是带有JSONLint的有效JSON。 jsonc v2.0指南以相同格式显示此特定数据对象。 https://developers.google.com/youtube/2.0/developers_guide_jsonc

`POST / feeds / api / users / default / favorites?alt = jsonc HTTP / 1.1     主持人:gdata.youtube.com     Content-Type:application / json     授权:AuthSub令牌=“AUTHORIZATION_TOKEN”     GData-Version:2     X-GData-Key:key = DEVELOPER_KEY

{
  "data":{
     "video":{
      "id":"6aiCJubxiGI"
    }
  }
}`

有什么想法吗?

0 个答案:

没有答案