人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

google reader 非公式APIについて 既読リクエストの方法

既読処理をしたくて、下記のようにリクエストをしているのですがエラーになってまいます。
400エラーが返ってくるので、リクエストのパラメータが間違ってると思うのですが、どこが間違っているのかご指摘頂ければと思います。

例えば

フィード : feed/http://feeds.gizmodo.jp/rss/gizmodo/index.xml
アイテムID : tag:google.com,2005:reader/item/df911d948a49a6c4
(アイテムIDはエンコードして : tag%3agoogle%2ecom%2c2005%3areader%2fitem%2fdf911d948a49a6c4)

というアイテムを既読にしたい場合

https://www.google.com/reader/api/0/edit-tag?i=tag%3agoogle%2ecom%2c2005%3areader%2fitem%2fdf911d948a49a6c4&a=user/-/state/com.google/read&s=feed/http://feeds.gizmodo.jp/rss/gizmodo/index.xml&T=eW4x6yrobWnR9I7f8S_fRA

とリクエストしているのですが、エラーが返ってきます。
token(T=)が有効なのは30分だけということなので、リクエストする前に必ず新しいのを取得しています。

ご指摘よろしくお願いします。


●質問者: Takapin
●カテゴリ:インターネット
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● oil999
●10ポイント

認証用のAuth、SID、LSIDは設定していますか?
下記をご覧ください。
http://d.hatena.ne.jp/tank1206/20120707/1341628157


Takapinさんのコメント
リクエストの際には必ずヘッダにAuth情報を付与しています。そのAuthを使って未読リストの取得やタグの取得はできているので、edit-tag系のパラメータが間違ってるのかな?と思ったのですが・・・

oil999さんのコメント
既読処理はPOSTでパラメータを渡してやる必要があります。

Takapinさんのコメント
すいません。こちらの補足に気づく前に終了してしまいました。気づいていればポイントを均等に振り分けたのですが・・・。申し訳ないです。

2 ● a-kuma3
●190ポイント ベストアンサー

まず、Token については、レスポンスヘッダを確認してみましょう。
"X-Reader-Google-Bad-Token" = true;
は、返ってきてませんか?


何を使ってリクエストを送ってるのか分からないので、想像なんですけど、POST でリクエストを送ってないんじゃないでしょうか。

GET で送ってて、400 が返ってきてた人(ページのコメント)。

GETとPOSTで勘違いしていた所がありました。
URLの??がすべてデータを送信するPOSTだと思っていました。しかし、それはGETでPOSTはURLとは別にデータをp送信するのですね。

http://cathval.com/csharp/871

POST で送ってたんだけど、リクエストヘッダで Content-Type を指定してなかった人(ページの後半)。

何気ない POST パラメータを送信する POST 処理なのだが、gdata.service.Post は aplication/atom+xml形式のデータ送信を想定するため、明示的に Content-Typeを指定する必要がある!気づくまで、「400 Bad Request」+「X-Reader-Google-Bad-Token: true」に悩まされてしまった。

http://moimoitei.blogspot.jp/2011/03/google-python-google-reader-api.html

Takapinさんのコメント
この辺の情報は初めてなので、後ほど試してみます。 質問の終了は少し時間下さい。

Takapinさんのコメント
単純に通信方式をPOSTにしたら成功しました。 ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ