Twitterのbotを作る #2「画像もアップできた」

twitter
LINEで送る
Share on GREE
Share on LinkedIn

前回の記事で、bot作成には成功しているのですが、
botでブログを公開していると、せっかくアイキャッチをつけて、1記事1画像にしているのに、twitterでツイートが文字よURLだけなんで、魅力半減に思えて仕方がない。

どうせbotでアップするのであれば、アイキャッチ画像も一緒にアップしたいと思い、色々調べてみました。

mysqlでアイキャッチの画像ファイルを取得する

wordpressの関数を用いてアイキャッチのファイルパスを取得するのは簡単なんですが、botシステムは、wordpressの外部で構築しているので、mysqlでコマンドを叩いて直接取得するしかないので、データベースを調べてみた。

1.記事の取得※ランダムで1記事(前回記事参照)

$row[‘ID’] 、記事IDが取得できる。

2.記事IDからmeta_idを取得(TABLE : news_postmeta)

$row2[‘meta_value’] 、media-IDが取得できます。

3.media-IDから、ファイルパスを取得

$row3[‘meta_value’] 、メディアフォルダ内のファイルパスが取得できる。

4.URLに変換

wordpressの表示URLになるように、ドメインなどを付けてURLに成形する。

5.アップロード処理

画像はローカルに保存されている画像でなくても、URLを記入しても送信できるようなので、
今回はローカルPATHではなく、URLをサポートしてみた。
この方が汎用性が高いからね。
$media1を配列に入れているのは、複数の画像がアップできるようだ。
でも、これで、画像をアップできるようになったので、色々と面白いことができる予定。

Issue

画像を縮小してサムネイルレベルにした方がいい。
wordpressのアイキャッチはテンプレートにもよるが、画像の一部しか表示されないが、twitterにアップするとtwitpicにアップされ、それが表示されるようなので、画像が全領域表示されるようだ。
アイキャッチと少し印象が変わる可能性があるので、できるのであれば、PHP側でimageMagickなどを使って、縮小 and 切り抜きを行うともう少し便利になるかもしれないが、画像作成時にコントロールできるという意見もあるので、現時点ではこのままにしておく。

ライブラリ参考

https://twitteroauth.com/

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です