androidからのはてなAPIの認証

失敗する

はてなブックマークAPIを使って新しいブックマークをポストしようとするけど、失敗する

レスポンス

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
  <title>417 - Expectation Failed</title>
 </head>
 <body>
  <h1>417 - Expectation Failed</h1>
 </body>
</html>

ステータスコードは417が返ってきます

ステータスコード:417を調べてみる

[Studying HTTP] HTTP Status Code
http://www.studyinghttp.net/status_code

クライアントは、希望する拡張を Expect によって与える事ができますが、サーバがそれを実行できない時には 417 を返す事ができます。

HTTP/1.1 では、100 というステータスコードを扱えない HTTP/1.1 サーバが使用する状況が想定されています。 (逆に言うと、それ以外の Expect 値は定義されていません。) 

とのこと

googleで調べてみる

こんな質問を見つけた
[はてなブックマークAPIを使って、はてブを投稿する機能をC#で書いていますが、動きません。書いたのは下のソースです。 http://d.hatena.ne.jp/tomity/20080213/1202890384.. - 人力検索はてな:]
http://q.hatena.ne.jp/1202997886

Expectヘッダを調べたところ、"100-continue"という値が設定されていました。これは調べたところステータスコード100 continueを利用できることをサーバーに求めるヘッダでした。はてなのサーバーがステータスコード100を利用できないため起こっていたエラーのようです。

この人はExpectヘッダに値が入っていたからダメだったみたいだ。

自分のソースでExpectヘッダを調べると

何も入ってなかった

結局

分からず終い

通信をモニタしてみるかな