2012-04-26 90 views
0

希望有人能帮助我在这里。我正在使用Google通讯录API来获取联系人列表。据我了解,这是通过发送一个GET请求来完成:发送POST而不是GET请求,谷歌联系人API(OAuth2用户)

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

然而,这是疯狂不安全任何入侵者可以访问到的oauth_token在URL中。为了解决这个问题,我试图用我的参数(alt,max-results,oauth_token)作为数据发送POST请求。但是,我只是收到“需要授权”错误。我已经尝试在我的头文件中添加“授权:OAuth”,但无济于事(获取授权类型无法识别的错误)。

有什么建议吗?我需要一个安全的方式来OAuth令牌发送到谷歌这样的,我的安全软件不会抱怨我的程序安全漏洞...

谢谢!

+1

POST数据仅仅是一个入侵者的访问。 – 2012-04-26 05:36:08

+0

可能重复的[如果您使用https将您的网址参数将会从嗅探安全吗?(http://stackoverflow.com/questions/893959/if-you-use-https-will-your-url-params-will-be -afe-from-sniffing)在HTTPS流量中,当您使用HTTPS链接时,QueryString参数会被加密。 – 2012-04-26 05:39:30

+0

我想我试图解决的问题是“在URL会话令牌”,这我的安全套件一直对我大喊大叫。这仅对GET请求弹出,但对POST请求消失。尽管如此,任何想法如何让POST请求可用于从Google获取联系人? – jnfr 2012-04-26 05:40:06

回答

3

要直接回答您的问题,即使安全性无关紧要,因为您正在使用HTTPS,但您无法通过POST来Google获取联系人列表。 Google requires you use Get

授权的正确的格式(因为仍然可以使用一个Get和未通过的oauth_token作为查询字符串是使用格式化的HTTP头:

授权:承载1/fFBGRNJru1FQd44AzqT3Zg

为获取数据。使用POST而不是GET正好提供了零加入安全

Using OAuth 2.0 to Access Google APIs

+0

啊,我想这个没办法。谢谢! – jnfr 2012-04-26 05:50:40

+0

没有理由需要*方法*,您使用的是HTTPS! – 2012-04-26 05:51:23

+0

哦,是的,我明白那一部分! (再次感谢!)我的意思是这里没有办法绕过这个企业软件抱怨安全问题。 :P – jnfr 2012-04-26 05:58:11