我正在尝试使用cURL和PHP在谷歌阅读器上将一个项目标记为已读。我正在请求谷歌阅读器允许我的应用程序使用OAuth 2.0。当我试图将一个项目标记为已读时,收到了“400错误请求”HTTP错误,我的请求看起来像:
网址:
https://www.google.com/reader/api/0/edit-tag
URL参数:
[client] => scroll
POST参数:
[i] => tag:google.com,2005:reader/item/b25079e56615b397
[s] => feed/http://christophertimberlake.com/rss
[async] => true
[T] => <Access token got on OAuth2 sign-in>
[a] => user/<user-id>/state/com.google/read
请求标头:
[Host] => www.google.com
[Accept] => */*
[Authorization] => Bearer <OAuth2 access token>
[Referer] => http://www.google.com/reader/view/
[User-Agent] => Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0
[Content-Length] => 247
[Content-Type] => application/x-www-form-urlencoded
此外,我注意到谷歌有一个奇怪的回复标题:
X-reader-google-bad-token: true
。这个头是否与POST发送的令牌有关,我是否必须使用OAuth2令牌作为POST参数,或者我需要另一个令牌?
请注意,我成功地执行了只读请求,如获取订阅、项目列表或读取计数信息。
有人知道这里发生了什么吗?