ひまつぶし雑記帖

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最高っす!

 

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

【電子書籍発売中】

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

profile

profile

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

ため池

[2025/03/23 18:35]
@k6s8@misskey.io @k6s8@misskey.io わたしは三波春夫が狂ったように意味のない歌詞で叫んでた大阪万博世代で、月の石とか目玉商品があったと思うんですけど、今どきは万博に限らず、いわゆる国を上げてのイベント ...

[2025/03/23 18:15]
【速報】万博に行きたいとは思わない74%
https://www.47news.jp/12345446.html
>大阪・関西万博に「行きたいとは思わない」が74.8%で、「行きたいと思う」の24.6%を上回った。

「上回った」とかいうレベルじゃないんだけどwwww ...

[2025/03/23 18:09]
ゴージャスでリッチ、すげー作り込んだページも、アクセスして観てもらうことが大前提。
表示に時間がかかって「戻る」されたら元も子もない。そのJavascript本当に必要?cookie食わせてDBと照合してる暇があったらとっ ...

@t2aki@tokoroten.doncha.net

検索
<<2025/3>>
      1
2345678
9101112131415
16171819202122
23242526272829
3031

リンク

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