既読処理をしたくて、下記のようにリクエストをしているのですがエラーになってまいます。
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分だけということなので、リクエストする前に必ず新しいのを取得しています。
ご指摘よろしくお願いします。
まず、Token については、レスポンスヘッダを確認してみましょう。
"X-Reader-Google-Bad-Token" = true;
は、返ってきてませんか?
何を使ってリクエストを送ってるのか分からないので、想像なんですけど、POST でリクエストを送ってないんじゃないでしょうか。
GET で送ってて、400 が返ってきてた人(ページのコメント)。
GETとPOSTで勘違いしていた所がありました。
http://cathval.com/csharp/871
URLの?~がすべてデータを送信するPOSTだと思っていました。しかし、それはGETでPOSTはURLとは別にデータをp送信するのですね。
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
既読処理はPOSTでパラメータを渡してやる必要があります。
すいません。こちらの補足に気づく前に終了してしまいました。気づいていればポイントを均等に振り分けたのですが・・・。申し訳ないです。
まず、Token については、レスポンスヘッダを確認してみましょう。
"X-Reader-Google-Bad-Token" = true;
は、返ってきてませんか?
何を使ってリクエストを送ってるのか分からないので、想像なんですけど、POST でリクエストを送ってないんじゃないでしょうか。
GET で送ってて、400 が返ってきてた人(ページのコメント)。
GETとPOSTで勘違いしていた所がありました。
http://cathval.com/csharp/871
URLの?~がすべてデータを送信するPOSTだと思っていました。しかし、それはGETでPOSTはURLとは別にデータをp送信するのですね。
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
この辺の情報は初めてなので、後ほど試してみます。
質問の終了は少し時間下さい。
単純に通信方式をPOSTにしたら成功しました。
ありがとうございました。
この辺の情報は初めてなので、後ほど試してみます。
2013/01/12 18:03:34質問の終了は少し時間下さい。
単純に通信方式をPOSTにしたら成功しました。
2013/01/12 19:23:43ありがとうございました。