将POST而不是GET请求发送到Google Contacts API(OAuth2)

时间:2012-04-26 05:33:28

标签: oauth-2.0 google-contacts

希望有人可以帮助我。我正在使用Google通讯录API来获取联系人列表。据我了解,这是通过发送GET请求来完成的:

https://www.google.com/m8/feeds/contacts/default/full?alt=json&max-results=9999&oauth_token=OATH_TOKEN_HERE

然而,这是非常不安全的,因为任何入侵者都可以访问URL中的oauth_token。为了解决这个问题,我试图将此作为POST请求发送,并将参数(alt,max-results,oauth_token)作为数据发送。但是,我只是收到“需要授权”的错误。我尝试在我的标题中添加“授权:OAuth”但无效(收到无法识别授权类型的错误)。

有什么建议吗?我需要一种安全的方式将oauth令牌发送给Google,以便我的安全软件不会在我的程序中抱怨安全漏洞......

谢谢!

1 个答案:

答案 0 :(得分:3)

要直接回答您的问题,即使您使用HTTPS时安全性无关紧要,也无法POST向Google提供联系人列表。 Google requires you use Get

正确的授权格式(因为你仍然可以使用Get而不是将oauth_token作为查询字符串传递是使用格式化的HTTP标头:

  

授权:持票人1 / fFBGRNJru1FQd44AzqT3Zg

Using OAuth 2.0 to Access Google APIs