画像のtootに苦戦する
MastodonのインスタンスにtootするプログラムをPHPで書く。
cURL関数を使ってpostメソッドで送信する。
テキストのみのtootはできる。
しかし画像のtootは次の順
- 画像をアップロードしてidを得る
- 1.で得たidを配列media_idsに加えてtootする
でできるそうだが、それができずに悩む。
いろいろと試した結果、原因はパラメータ名と配列だった。
パラメータ名は、'
media_ids'でなく、'
media_ids[]'だ。
$dataを送信するデータ($data['status']=tootするテキスト)として、
- $data['media_ids'] = array($id); #Fail
- $data['media_ids'][] = $id; #Fail
- $data['media_ids[]'] = $id; #Pass
Rubyでnet/httpライブラリを使う場合やPythonで
urllib3を使う場合も同じで、dataを送信するデータとして
- data['media_ids'] = Array[id] #Fail
- data['media_ids[]'] = id #Pass
こんなことで苦戦した…w
2017/07/18 23:11