はてなブログ:http://developer.hatena.ne.jp/ja/documents/blog/apis/atom
やりたいこととしては、ブログの投稿をしたいと思っています。
試行錯誤はしたのですが、BadRequestとなってレスポンスが返ってきます。(投稿もされていません)
ほかの言語は扱えず、HSPのみ扱えるのでなるべくHSPで再現したいです。
かなり寝ぼけて作ったソースコードで、突っ込みどころ満載ですが一応現在のソースコードです。
#include "hspinet.as"HSP 3.5を使用しています。
sdim res,4096 sdim header,4096 sdim utf8msg,4096 sdim encmsg,4096 cls netinit if stat : dialog "ネット接続できません。" : end user = "(ユーザー名)" pass = "(APIキー)" header="<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" header+="<entry xmlns=\"http://www.w3.org/2005/Atom\"\n" header+=" xmlns:app=\"http://www.w3.org/2007/app\">\n" header+=" <title>(記事タイトル)</title>\n" header+=" <author><name>name</name></author>\n" header+=" <content type=\"text/plain\">\n" header+=" ** (投稿内容)\n" header+=" </content>\n" header+=" <updated>2008-01-01T00:00:00</updated>\n" header+=" <category term=\"Scala\" />\n" header+=" <app:control>\n" header+=" <app:draft>no</app:draft>\n" header+=" </app:control>\n" header+="</entry>\n" header+="\n" srcstr = user+":"+pass b64encode res, srcstr netheader "Authorization: Basic "+res+"\n" nkfcnv utf8msg,header,"Sw" ; utf-8に変換する neturl "(https://blog.hatena.ne.jp/{はてなID}/{ブログID}/atom/entry)" netrequest_post "", encmsg mes "投稿を送信しました。" *main ; 結果待ちのためのループ netexec res if res > 0 : goto *comp if res < 0 : goto *bad await 50 goto *main *bad ; エラー neterror estr mes "ERROR "+estr stop *comp ; 完了 mes "完了" netgetv buf jsonopen jroot,buf jsongets erstr, "error" if stat=0 : dialog "サーバーがエラーを返しました\n"+erstr jsonclose mesbox buf,640,300,1 stop
回答のほうよろしくお願いします!