2

我正在尝试通过 javascript 删除 Google 联系人。根据我定义的 Google Contacts api v3:

scope to https://www.google.com/m8/feeds

并通过身份验证的用户,并获得了 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);
}
}); 

收到此错误:

   "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"

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

4

2 回答 2

5

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

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

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

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

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

于 2013-10-30T07:23:38.307 回答
1

在此处查看我的答案。

使用 google 客户端 api for javascript。

于 2013-11-04T11:43:17.923 回答