Twitter APIで取得したつぶやきが「truncated=true」で切れてしまう!
この前ツイッターAPIでつぶやきを取得したら、長いつぶやきの全文を取得できませんでした。
つぶやきの末尾が「・・・」となってしまって省略されてしまっていたんです(truncatedというフィールドにはtrueがセットされていました・・)
最近ツイッター公式側の対応で、長いつぶやきはちょん切れて、省略されてしまう仕様になったそうです。
↓
Upcoming changes to Tweets — Twitter Developers
省略されていないつぶやきを取得するためには、ツイッターAPIのURLの最後に「tweet_mode=extended」というクエリーを付けること。
すなわち「https://api.twitter.com/1.1/statuses/show.json?tweet_mode=extended」
といったURLに要求を送ると「text」フィールドの代わりに「full_text」というフィールドが用意されて、そこに省略されていないつぶやきが格納されているそうです。
私はツイッターAPIを使うときに「TwitterOAuth」というライブラリを使っているんですが、例えば「TwitterOAuth」で長文つぶやきを取得するときは、以下のようになります。
$oauth_access_token = "hogegegegege"; $oauth_access_token_secret = "fugagagagagaga"; $consumer_key = "abcdefghijklmnopqrstuvxxyz"; $consumer_secret = "testestestestestes"; $connection = new TwitterOAuth($consumer_key,$consumer_secret,$oauth_access_token,$oauth_access_token_secret); $result = $connection->get("statuses/show", array("id" => "123456789", "tweet_mode" => "extended"));
「TwitterOAuth」のインストールの仕方は、私が以前書いた記事をご参照ください。
twitteroauthの使い方(2015年3月時点) - やったこと
以上です。
MySQLのデータをインポートしようとしたらエラー発生!
MySQLのデータベースをデバッグ試験用のものに差し替えようとして、「phpMyAdmin」でDBインポートをしたら
「multiple primary key defined in mysql」
とエラーが出て怒られてしまいました・・。
どうも「主キーが複数設定されている」といって怒っている様子です(主キーは一個しか設定してないんですけど変ですね・・)
こういうときは、問題となっているテーブルをドロップで削除してあげることです。
phpMyAdminの「テーブル削除」ボタンを押してエラーになるテーブルを削除をしてあげたら、ちゃんとインポート成功しました。
(テーブルは再作成されます)
よかったよかった。
【CakePHP3】テーブルを完全初期化してリセットする方法!
CakePHP3でMySQLテーブルのレコードを削除して真っ白に初期化する方法です。
これをするとテーブルのIDインクリメント情報も初期化されます。
//コネクションマネージャーを宣言 use Cake\Datasource\ConnectionManager; //テーブル内を真っ白に削除 $connection = ConnectionManager::get('default'); $results = $connection->execute('TRUNCATE TABLE テーブル名');
「テーブル名」を指定するときは、ちゃんとMySQLで宣言している名前を入れるようにご注意ください。
CakePHPだと「TwitterUsers」とか表現するテーブルも、MySQLだと「twitter_users」という名前のはずですからね。
以上!
ツイッターカードのサムネイルはツイッターにアップされた画像は使えない!
webサイトに埋め込む「TwitterCard」の情報ってありますよね?
以下のような感じでhtmlに記載する、ページがつぶやかれた時にかっこよい形式で表示してくれるやつです。
<!-- Twitter Card --> <meta name="twitter:card" content="summary"> <meta name="twitter:description" content="ホゲゲ"> <meta name="twitter:title" content="ホゲゲゲゲ>"> <meta name="twitter:url" content="http://hogege.net"> <meta name="twitter:image" content="http://hogege.net/img/hoge.jpg"> <meta name="twitter:domain" content="hogege.net"> <meta name="twitter:creator" content="@hogehoge"> <meta name="twitter:site" content="@hogehoge"> <!-- /Twitter Card -->
上記のアイキャッチ画像を指定する「image」の項目って、どうもツイッターにアップされた画像は使えないみたいですね(pbs.twimg.comの画像を指定すると灰色画像になって表示されませんでした・・)
「pbs.twimg.com」にある画像を使いたいときは、自前で画像をコピーしてどこかのサーバーに用意するしかなさそうですね、とっても残念です・・。
以上!
Twitterフォームの電話番号の記入の仕方!
ツイッターで新規アカウントを作るときに入れる、電話番号の入力方法です。
もしあなたの番号が「080-1234-5678」だったとしたら、入力フォームの「+81」のあとに「8012345678」と入れればOKです(先頭の0を一個省いて入れるんですね)
以上!
【CakePHP3】EC2サーバーからRDSに接続するときのhost設定は?
アマゾンAWSのEC2サーバにCakePHP3を設置して、RDSサーバー(DBサーバー)に接続しようと思ったんですけど、CakePHPの「app.php」の設定にちょっと迷ってしまいました・・。
「Datasources」の「host」項目ってどうやって入力すればいいんでしょうかね・・?
「Datasources」の「host」項目には、以下のようにRDSサーバーの「DNS名」を入れると、名前解決をしてに接続に行ってくれるみたいです。
'Datasources' => [ 'default' => [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, 'host' => 'hogege-db.qwertyuiop.ap-northeast-1.rds.amazonaws.com',
とっても新設設計ですね・・。
以上!
ムームードメインで「管理者情報の町村/番地が不正です」って怒られる
ムームードメインの設定で「WHOIS情報の変更」をしようとすると
「管理者情報の町村/番地が不正です」
とエラーが出て怒られてしまいました・・。
この原因はおそらく「個人設定 - ユーザー登録情報」の設定が間違ってるせいです。
この項目の「お客様情報」の入力判定はクッソ厳しいので、死ぬほど気を付けて文字を入力してください。
(私の場合は住所1と住所2の入力の仕方が悪くてエラーになっていたみたいです)
詳しくは公式ヘルプをご覧ください
https://muumuu-domain.com/?mode=faq&state=answer&id=000718
以上!