Google 联系人删除中的“NetworkError:405 Method Not Allowed”
Posted
技术标签:
【中文标题】Google 联系人删除中的“NetworkError:405 Method Not Allowed”【英文标题】:"NetworkError: 405 Method Not Allowed" on Google contact delete 【发布时间】:2013-11-09 15:32:46 【问题描述】:我正在尝试通过 javascript 删除 Google 联系人。根据我定义的 Google Contacts api v3:
scope to https://www.google.com/m8/feeds
和经过身份验证的用户,并获得了 access_token。 根据this page 上的 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"
任何帮助将不胜感激。 谢谢。
【问题讨论】:
【参考方案1】:请看我的回答here。
使用 google 客户端 api for javascript。
【讨论】:
【参考方案2】:您正在体验一种叫做CORSS (Cross-Origin XMLHttpRequest)的东西
如果您打开 chrome 开发工具,您会看到浏览器忽略了您的“删除”类型,而是发送了 OPTIONS。
当您尝试从其他来源调用服务器时,会发生这种情况,浏览器将向服务器发出数据类型为 OPTIONS 的额外请求,以了解发送原始删除帖子所需的内容。 问题是服务器不允许 'OPTIONS' 方法类型。 如果您问我,我会尝试为 google 联系人查找代理 (jsonp) 服务。或者一个 api
请看这里:https://developers.google.com/api-client-library/javascript/start/start-js
我认为你应该使用他们的标准 api。
【讨论】:
用jsonp怎么样? @sufyan.shoaib - 服务器需要支持,他必须阅读 api 文档。因为他没有使用标准的api。是不可能的。我更新了我的答案并添加了指向 api 的链接 我正在尝试做同样的事情,通过调用删除联系人但尝试关注谷歌联系人的 v3。您提供的上述 URL 适用于已过时的 v1,甚至 v2 也已过时,并且许多(几乎所有内容)现在在旧版本上都不起作用。不幸的是,谷歌联系人的 v3 没有提供好的 javascript 客户端库来访问 v3 api 调用 好的,这可以帮助你:developers.google.com/api-client-library/javascript/start/… 我也查看了客户端库,实际上它不支持谷歌联系人服务:// 第四步:加载 Google+ API gapi.client.load('plus', 'v1', function( ) )..... 它的api explorer 不支持此服务..以上是关于Google 联系人删除中的“NetworkError:405 Method Not Allowed”的主要内容,如果未能解决你的问题,请参考以下文章
是否可以通过 Apps 脚本删除 Google 其他联系人?
使用 Google Scripts 从 Google People API 获取 google 联系人电子邮件目录中的电子邮件列表
在Google Apps脚本中格式化PDF附件(MailApp.sendEmail)
将 Google 地图添加到 Drupal 中的联系信息页面