1

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 パラメーターとして使用する必要がありますか? それとも別のトークンが必要ですか?

サブスクリプション、アイテム リスト、読み取りカウント情報の取得などの読み取り専用要求を実行できたことに注意してください。

ここで何が起こっているか知っている人はいますか?

4

1 に答える 1

0

OAuth2 を使用して問題を解決しました。非読み取り専用操作を実行するには、アクション トークンも必要です。

続きを見る

https://groups.google.com/forum/?fromgroups=#!topic/fougrapi/U_8eT4yyLsY

于 2013-03-05T18:07:33.667 に答える