ひまつぶし雑記帖

doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍

mixi graphの日記APIで写真つき投稿

2012/7/3 [11:31:06] (火) 天気

先日mixiの日記に投稿するスクリプトを作ったんだけど(「次はmixiのgraph APIから」 https://t2aki.doncha.net/?id=1339828183)これはとりあえず本文だけの投稿で、本文をjsonにしてリクエストしている。
でも、せっかくなので、写真付きの日記も投稿できるようにしてみた。

OAuthのやりとり、access_token や refresh_token の取得などは前回の記事と同じなので、ここでは省略。
perl の lwp を使って multipart/form-data をリクエストするところのメモ。
バウンダリや、文字のエスケープなど、いろいろ考えなきゃいけないことがあって、LWP::UserAgent と HTTP::Requestだけで自作するのはよくわからんなあ、と眺めたり検索すると HTTP::Request::Common というのを使うのが定番だと。さすがperl、欲しいものはちゃんとある。感謝。

てことで

例によってこんだけでOK。
content-type も access_token も、ここで指定するとちゃんと header に入っている。

ちょっとハマったのがPOSTの書き方。対象URLに実際にリクエストするのは、いろいろなケースがあってリクエストするものが違う。リクエストを生成するところとは別、実際に対象URLにリクエストするのは一カ所にした方がコードのメンテがしやすい。
でも、リクエストを生成しようと POST URL ... を入れるとこの時点で対象URLにリクエストしてしまう。
「LWP::UserAgent の post(...) メソッドは$ua->request(POST ...) への ショートカットとして存在しています。」
ということで、POSTと書くと飛んでいってしまう。
なので、
use HTTP::Request::Common qw(POST);
と、Common の POST を使うことを指定して、POSTと書いてもリクエスト生成だけですよ、ということに。
 
写真の枚数とか画像ファイルの存在チェックなどは、ここにつけたし。
perl最高っす!

 

»電子書籍制作代行についてはこちら

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

ところてんx5

2024/4/16 20:39

こういうのを見ると、ほんと青空文庫の書式、青空記法は優秀だと思う。日本語の文章のあれこれすべてを網羅してる

2024/4/16 20:38

新規クライアントの電書の元データ。ルビの形式がタイトルごとでバラバラというトラップ。さすがにヤバいので、ルビっぽいものを抽出してチェックするスクリプトをでっちあげ。もともとWEBで公開されてると思ったんだけど、これだけ書式がバラバラってことは、電書オリジナルなのかも。

2024/4/16 08:14

https://wirelesswire.jp/2024/04/86389/
後で読む

検索
<<2024/4>>
 123456
78910111213
14151617181920
21222324252627
282930

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版