Lai*_*Ali 2 javascript api google-contacts-api http-status-code-405
我正在尝试通过 javascript 删除 Google 联系人。根据我定义的 Google Contacts api v3:
scope to https://www.google.com/m8/feeds
Run Code Online (Sandbox Code Playgroud)
并经过身份验证的用户,并获得了 access_token。根据此页面上的 v3 文档,尝试删除这样的联系人:
$.ajax({
url: 'https://www.google.com/m8/feeds/contacts/default/full/temp123info@gmail.com?access_token=ya29.AHES6ZQoqUgoYmDzXyo-WsSlKv1-_2D_HzmXuH-wBuTR3e1ADxO0VWM',
type: 'DELETE',
success: function(res)
{
console.log(res);
},
error: function(error)
{
console.log(error);
}
});
Run Code Online (Sandbox Code Playgroud)
收到此错误:
"NetworkError: 405 Method Not Allowed - https://www.google.com/m8/feeds/contacts/laiquedaudpota43@gmail.com/full/temp123info@gmail.com?access_token=ya29.AHES6ZQoqUgoYmDzXyo-WsSlKv1-_2D_HzmXuH-wBuTR3e1ADxO0VWM"
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。谢谢。
您正在体验一种叫做CORSS(跨源 XMLHttpRequest)的东西
如果您打开 chrome 开发工具,您将看到浏览器忽略了您的“删除”类型并发送了 OPTIONS。
当您尝试从其他来源调用服务器时会发生这种情况,浏览器将向服务器发出一个数据类型为 OPTIONS 的额外请求,以了解发送原始删除帖子所需的内容。
问题是服务器不允许“OPTIONS”方法类型。如果你问我,我会尝试为谷歌联系人找到代理(jsonp)服务。或 api
请看这里:https : //developers.google.com/api-client-library/javascript/start/start-js
我认为您应该为此使用他们的标准 api。