twitteroauthでalt-text

https://github.com/abraham/twitteroauth/issues/456

↑で読んだ方法がうまくいかなかったので試行錯誤して、下記で成功したのでメモ置いておきます。

基本的なtwitteroauthの設定はしてあって、ログインまで済んでるものとします。また、twitteroauthのバージョンが古いとうまく動かなかったので、最新版にして下さい。

$connection = new TwitterOAuth(Consumer_Key, Consumer_Secret, $_SESSION['access_token'], $_SESSION['access_token_secret']);
// 画像をアップロードして、そのメディアIDを変数に格納
$mediafile = '画像パス';
$media1 = $connection->upload('media/upload', ['media' => $mediafile]);

// ここから代替テキスト用に追加した部分
$data1 = [
 'media_id' => $media1->media_id_string,
 'alt_text' => [
   'text' => '代替テキストのテストだよ',
 ]
];
$metadata = $connection->post('media/metadata/create', $data1, true);
// ここまで追加部分

// ツイートするためのパラメータをセット
 $parameters = [
   'status' => "ツイートの内容",
    'media_ids' => implode(',', [$media1->media_id_string])
 ];

// ツイートを実行
$result = $connection->post('statuses/update', $parameters);

​

おひねり投げてくださったら嬉しいです