2016.5.4
0からはじめるPHP#91【cronによる自動ツイート#4】
cronとか言っときながらcronの話全然でてきてないんですが、やっと新しい技術の話ができますね。
cronで回すこと自体は簡単なので
(設定するだけですからね)別に特別書くこともたぶんないんですが、自動ツイートの方はいろいろやんなきゃいけないかも知んないので、今回は
PHPとtwitterの連携に関して書いてみることにしましょう。
まず
https://apps.twitter.com/にアクセスします。
こんな画面が表示されます。そういや昔twitterクライアント作ろうとして挫折したことがあるんですが、その残骸が表示されてますね。あはは。
とりあえずアプリを新規追加しようとすると
SMS認証しろよハゲって言われるので、登録しましょう。
ただ僕は格安SIMユーザーなのでSMS認証できません。
あ、いきなり詰みましたね。
仕方ないので使ってないこのちびツイを編集することでやりくりしましょう。既に作ってあるやつだと特に認証いらないみたいですしね。
悪運めちゃくちゃ強いですね。
しかしいつのまにこんなSMS認証とか取り入れてたんだろう・・・・・・対策しなくてはなぁー・・・・・・(・ω・)
まぁ仕方ないのでこのまま作るわけです。
具体的なプログラムに関してはテキトーにググれば出てきます。結局参考にしてるページの紹介になるのですが
こちらのページのコメントにあります
TwistOAuthなんかが使いやすいんじゃないでしょうか。
使い方は簡単です。コメントのページから直接コピペしたのが以下のコードです。
// ライブラリ読み込み
require __DIR__ . '/TwistOAuth.phar';
// 認証情報4つ
$ck = 'XXXXXX';
$cs = 'XXXXXX';
$at = 'XXXXXX';
$as = 'XXXXXX';
// TwitterAPIに接続するあらゆる正常時の処理はこのブロックの中で行う
try {
// クレデンシャル生成
$to = new TwistOAuth($ck, $cs, $at, $as);
// ツイート
$status = $to->post('statuses/update', ['status' => 'テストメッセージ']);
// レスポンス確認(異常時にはcatchにジャンプするため、ここへの到達は成功を意味する)
var_dump($status);
} catch (TwistException $e) {
// エラーを表示
echo "[{$e->getCode()}] {$e->getMessage()}";
}
まぁ簡単です。認証情報4つは、それぞれの頭文字を取ってます。Appsのページからそれっぽいのをコピペすれば良いです。あるので。
さーて、これで動かせるぞー(・∀・)(・∀・)
SSL・・・・・・認証・・・・・・だと・・・・・・。
色々設定を頑張ってみたんですがクリアできずハマってしまったので、次回の話題は
「ローカルでhttps通信しよう!」に決定です。無念。