Google 联系人删除中的“NetworkError: 405 Method Not Allowed”

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)

任何帮助,将不胜感激。谢谢。

Avi*_*tal 5

您正在体验一种叫做CORSS(跨源 XMLHttpRequest)的东西

如果您打开 chrome 开发工具,您将看到浏览器忽略了您的“删除”类型并发送了 OPTIONS。

当您尝试从其他来源调用服务器时会发生这种情况,浏览器将向服务器发出一个数据类型为 OPTIONS 的额外请求,以了解发送原始删除帖子所需的内容。
问题是服务器不允许“OPTIONS”方法类型。如果你问我,我会尝试为谷歌联系人找到代理(jsonp)服务。或 api

请看这里:https : //developers.google.com/api-client-library/javascript/start/start-js

我认为您应该为此使用他们的标准 api。