我需要在对YouTube API的ajax调用中包含带有刷新令牌的标头。我正在尝试发送删除请求,以删除我帐户中的电影。这是我点击按钮时发出的ajax调用
jQuery.ajax({
type: 'DELETE',
// must set api key
url: 'https://www.googleapis.com/youtube/v3/videos?id='+ thisUniqueID + '&key=904907387177-qe517sq5dmmpebckjbmrhv4gvac9e2d1.apps.googleusercontent.com',
success: function() {
alert('your video has been deleted');
},
error: function() {
alert('error processing your requst');
}
});
我收到401(未经授权的)erorr返回,似乎我需要在通话中包含我的访问令牌。我正在玩google api游乐场查看请求和响应,这就是显示“请求”被发送出去
DELETE https://www.googleapis.com/youtube/v3/videos?id=3242343&key={YOUR_API_KEY}
Authorization: Bearer "access token"
X-JavaScript-User-Agent: Google APIs Explorer
现在,根据该请求,看起来有与请求一起发送的标头,其中包含访问令牌。这一定是我收到401错误的原因。如何将这些标头包含在我的ajax请求中,以便我的访问令牌与请求一起传递?感谢
答案 0 :(得分:4)
我可以使用以下代码传递标题:
jQuery.ajax({
type: 'DELETE',
// must set api key
url: 'https://www.googleapis.com/youtube/v3/videos?id='+ thisUniqueID +'&key=api_key_here',
beforeSend: function(xhr){xhr.setRequestHeader('Authorization', 'Bearer access_token_here');},
success: function() {
alert('your video has been deleted');
},
error: function() {
alert('error processing your request');
}
});
答案 1 :(得分:2)
您可以使用beforeSend
方法和request.setRequestHeader
。请查看官方文档here。
P.S。我应该将其作为评论发布吗?
答案 2 :(得分:0)
尝试添加参数数据。
jQuery.ajax({
type: 'DELETE',
data: 'key=' + {YOUR_API_KEY},
// must set api key
url: 'https://www.googleapis.com/youtube/v3/videos?id='+ thisUniqueID + '&key=904907387177-qe517sq5dmmpebckjbmrhv4gvac9e2d1.apps.googleusercontent.com',
success: function() {
alert('your video has been deleted');
},
error: function() {
alert('error processing your requst');
}
});