cURL と PHP を使用して、Google リーダーでアイテムを既読としてマークしようとしています。OAuth 2.0 を使用して、アプリケーションの Google リーダーのアクセス許可をリクエストしています。アイテムを既読としてマークしようとすると、「400 Bad Request」HTTP エラーが発生し、リクエストは次のようになります。
URL: 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
また、Google からの奇妙な応答ヘッダーに気付きました: X-reader-google-bad-token: true
. このヘッダーは POST によって送信されたトークンに関連していますか? OAuth2 トークンを POST パラメーターとして使用する必要がありますか? それとも別のトークンが必要ですか?
サブスクリプション、アイテム リスト、読み取りカウント情報の取得などの読み取り専用要求を実行できたことに注意してください。
ここで何が起こっているか知っている人はいますか?