0

我正在向 youtube api 发送删除请求,但收到 401 错误(未经授权)。我不确定为什么。我的密钥设置正确,我可以访问 youtube 频道的分析。这是我在单击按钮时触发的代码

jQuery.ajax({
        type: 'DELETE',
        // must set api key
        url: 'https://www.googleapis.com/youtube/v3/videos?id='+ thisUniqueID + '&key={<?php echo $oAuth2Key; ?>}',
    }); 

我已经使用 alert 来检查我的身份验证密钥是否设置正确(如下所示)。

alert('<?php echo $oAuth2Key; ?>');

我可以在返回的地址中看到 url 正确的错误。可能是什么问题?



看起来我需要一个刷新令牌。这直接来自文档:如果您提交使用过期访问令牌访问受保护资源的请求,API 将返回 HTTP 401 响应代码(未经授权)。以下部分说明如何刷新访问令牌。


有没有一种简单的方法可以在我发送删除请求的同时检索刷新令牌?如果没有,是否有一种简单的方法可以在不需要客户端 ID/客户端密码等的情况下检索一个。

我以某种方式获得了分析密钥,但是当我删除视频时,该密钥无效。

4

2 回答 2

0

我建议您改用 Data API v3。

是的,您可以进行 AJAX 调用。这是视频->删除通话。

删除https://www.googleapis.com/youtube/v3/videos?id=VIDEO_ID&key= {YOUR_API_KEY}

于 2013-09-10T19:34:03.453 回答
0

您可以在以下位置找到使用授权的文档: https ://developers.google.com/youtube/v3/guides/authentication

您使用 API 密钥访问公共数据!

由于要删除视频,因此必须使用 access_token。access_token 的有效期很短(1 小时)。您可以通过使用您的 refresh_token 请求另一个来获得一个新的。
存储一个 refresh_token,因为它在被撤销之前一直有效。

顺便提一句。

Maybe use client.js, to handle the authorization for your requests ?
For JS, by adding:

 <script src="https://apis.google.com/js/client.js?onload=googleApiClientReady"></script>

一般文档位于: https ://developers.google.com/api-client-library/javascript/start/start-js

YouTube 的代码示例位于: https ://developers.google.com/youtube/v3/code_samples/javascript

有关视频删除方法的参考,请参见: https ://developers.google.com/youtube/v3/docs/#videos

列出的方法是:insert、list、delete、update、rate 和 getRating。

删除方法可能是(未使用有效的 videoID 进行测试):

var requestOptions = {
  id: '012345678901',                    // replace VIDEOID
  part: 'id'

};

var request = gapi.client.youtube.videos.delete (requestOptions);

request.execute(function(response) {
      console.log("RESPONSE: " + response);
});

使用不存在的 videoId 的响应是:

[
 {
  "error": {
   "code": -32500,
   "message": "Video not found",
   "data": [
    {
     "domain": "youtube.video",
     "reason": "videoNotFound",
     "message": "Video not found",
     "locationType": "parameter",
     "location": "id"
    }
   ]
  },
  "id": "gapiRpc"
 }
]
于 2013-09-11T01:29:16.250 回答