以下のサイトを参考にしていた。2012年の記事で情報が古くなり2016年では投稿ができなくなってしまいった。
他のサイトで事例がないので、試行錯誤した結果動いたのでメモ代わりに記載する。
【変更箇所】 funtionにコードを入れる部分が分かりいにくいので、function全体を記載する。
// Put a data(wiki text) into a physical file(diff, backup, text) function page_write($page, $postdata, $notimestamp = FALSE) { if (PKWK_READONLY) return; // Do nothing $postdata = make_str_rules($postdata); // Create and write diff $oldpostdata = is_page($page) ? join('', get_source($page)) : ''; $diffdata = do_diff($oldpostdata, $postdata); file_write(DIFF_DIR, $page, $diffdata); // Create backup make_backup($page, $postdata == ''); // Is $postdata null? // Create wiki text file_write(DATA_DIR, $page, $postdata, $notimestamp); links_update($page); // ↓↓↓追加する START↓↓↓ // 更新情報をツイート $head = '更新しました。#okaasan #おかあさんといっしょ '; $guest_url = 'http://www.hanzou.jp/okaasan/index.php?' . rawurlencode($page); announce_tweet($head, $page, $guest_url); // ↑↑↑追加する END ↑↑↑ }
// ↓↓↓最終行に追加する START↓↓↓ // [$head $title $url]というフォーマットでツイートします // [$head $title]部分が100文字に収まるようにトリムします // $urlはbit.lyを使用して短縮します // 引数は全てUTF-8を想定しています function announce_tweet($head, $title, $url) { require_once('Services/ShortURL.php'); require_once('twitter/twitteroauth/twitteroauth.php'); ←フォルダのパスを合わせる // [$head $title]部分 $msg = mb_substr("{$head} {$title}", 0, 100, 'UTF-8'); // $urlが空でなければ、URLを短縮 if (!empty($url)) { Services_ShortURL::setServiceOptions('Bitly', array( // <bit.lyのユーザー名> 'login' => '*****', ←変更する // <bit.lyのAPI Key> 'apiKey' => '**********************************' ←変更する )); $api = Services_ShortURL::factory('Bitly'); $msg .= ' ' . $api->shorten(rawurlencode($url)); } // <twitterへ登録したアプリのConsumer key> $consumer_key = "*************************"; ←変更する // <twitterへ登録したアプリのConsumer secret> $consumer_secret = "**************************************************"; ←変更する // <twitterへ登録したアプリのMy Access Token> $access_token = "**************************************************"; ←変更する // <twitterへ登録したアプリのAccess Token Secret> $access_token_secret = "*********************************************"; ←変更する // OAuthオブジェクト生成 $to = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret); // ツイート $req = $to->OAuthRequest('https://api.twitter.com/1.1/statuses/update.json', 'POST', array( 'status' => $msg )); } // ↑↑↑最終行に追加する END ↑↑↑