Twitterのディスプレイガイドラインに関する話。(ツイート本文編)

確か、表示ルールが厳格化されたのは、TwitterAPI1.1に移行してからなので、いまさらの話ではあるのだけれど…。

Twitterのツイートを利用する場合…。
たとえば、ツイート本文(text)において…。

  1. @スクリーンネーム が含まれている場合は対象のアカウントへリンク
  2. #ハッシュタグ が含まれてる場合は対象のハッシュタグの検索ページへリンク
  3. URL が含まれている場合は、textに含まれる短縮済みのURLを元のURLに展開した上でディスプレイURLとしてリンクする

みたいなルールがあったりする。(他にもたくさんあるけれど、今回は本文の話のみ。)

1と2に関しては正規表現でどうにでもなるとはいえ…。(実際そのように対応している方もいらっしゃる模様)
問題は3つ目。「え…?わざわざリクエストを試みて元URLを取得した上で置換しないとダメなの…うざっ!」とか最初は思ってたのだけれど…。
ドキュメントをよく見てみると、ツイート取得系のAPIリクエスト時にinclude_entitiesをtrueにしてやる事で…。
以下のようにテキストに含まれるハッシュタグ・メンション(スクリーンネーム)・URL等についての情報が返ってくる。

  ["entities"]=>
  array(4) {
    ["hashtags"]=>
    array(0) {
    }
    ["symbols"]=>
    array(0) {
    }
    ["user_mentions"]=>
    array(0) {
    }
    ["urls"]=>
    array(1) {
      [0]=>
      array(4) {
        ["url"]=>
        string(22) "http://t.co/rOptxPlCAj"
        ["expanded_url"]=>
        string(31) "https://otapps.net/archives/3662"
        ["display_url"]=>
        string(24) "otapps.net/archives/3662"
        ["indices"]=>
        array(2) {
          [0]=>
          int(47)
          [1]=>
          int(69)
        }
      }
    }
  }

なので、スクリーンネームやらハッシュタグは勿論、URLに関してもこれらのデータを用いる事で、単純な「置換」でどうにでもなる感じ。
何か色々みてると正規表現駆使して頑張ってる方もいらっしゃるようなので、一応、Tipsとして記事にしてみました。(ここ数日、どんなに下らない事でもブログ更新しよう!みたいなノリなので。)

公開日:2014年11月16日
タグ:, ,

TwitterAPIで取得したツイートの投稿時間を「○分前」といった相対表記に変換する方法。

Twitterではツイートの投稿時間の表示方法として、「○分前に投稿」といったツイートが投稿された時間からの経過時間表記を標準としています。
んで、TwitterAPIで取得したツイートの投稿時間を投稿からの経過時間で表示する方法です。

以下PHPで。

    /*
     *  投稿時間からの経過時間を返す
     *  @param string $created_at 投稿時間
     *  
     */
    function getPassedTime($created_at) {
        $now = date_create(date('Y-m-d H:i:s'));//(*1)
        $created = date_create(date('Y-m-d H:i:s', strtotime($created_at)));//(*2)
        $passed = date_diff($now, $created);

        switch (true) :
            case ($passed->y):return $passed->y . '年前';
            case ($passed->m):return $passed->m . 'ヶ月前';
            case ($passed->w):return $passed->w . '週間前';
            case ($passed->d):return $passed->d . '日前';
            case ($passed->h):return $passed->h . '時間前';
            case ($passed->i):return $passed->i . '分前';
            default:
                return $passed->s . "秒前";
        endswitch;

    }

こんな感じ。

補足:
記事の都合上、(*1)で現在時間を第二引数無しのdateで取ってしまってるので、ローカルの時計と、ローカルのタイムゾーン(Asia/Tokyo)が反映されるため、(*2)でちょっと面倒なことになってるけれど…。
現在時間もヘッダから拾ってきて、それぞれGMTな現在時間・投稿時間を直にdate_createすれば、もう少しシンプルになるはず。(タイムゾーンを意識する必要がないし、結果となる経過時間がローカルの時間に依存しないから。)

どうでも良いけれど…。

正直、個人的には2014/01/01 02:15:01 JST みたいな時間表示の方が、データの取得時間を意識する必要がないので好きなので「めんどくさいなー」と思ったのですが、↑の書いてるうちに「あぁ。そうか。」と。
補足で書いているように、相対表示、やり方によっては、タイムゾーンを意識する必要がないのはメリットかもれないかな〜と。世界広いし。
どちらにしても、相対表記のみでは情報不足なので、完全な時間表示は必要になるけれど。

公開日:2014年11月16日
タグ:, , , ,

2in1 PCの使いドコロ。

最近、各メーカーがこぞってリリースしているタブレットにもキーボード付きのノートパソコンにもなる2in1PC。
その形態も様々で、スペックも低価格(3万円台〜)でローエンドのものから、高価でハイエンドのものまで色々とあるけれど…。
その殆どがノートパソコンサイズなので、持ち運びが容易。

で、まぁ…。
その使いドコロとしては低スペックかつ低価格なものなら、メーカー保証のみで使い捨てるノリで「オフィスソフト等を利用するための軽作業用のマシン」とか「ネットワークに接続している前提でのクライアントとしての利用」くらいしか利用用途がないのだけれど…。

それなりのスペックのものなら、アクシデント関連の追加保証とかもつけた上で、拠点間の移動時に容易に持ち運ぶ事が出来る「準メインPC」としても使えるよね〜。
持ち運びが容易だし、場所を取らないのでモニタさえあれば、大きな画面で作業が可能!みたいな?(複数拠点間の持ち運び用PCとしてMacminiとか持ち歩いている人もいるようだから多分需要はあるはず。注:MacBookじゃなくて、MacMiniね。)
例えば、自宅と事務所の行き来なら、自宅と事務所では据え置いてるモニタに外部出力して別途普通のキーボードもつなぐ形でサブモニタ付きのデスクトップPC風に利用〜みたいなことも可能。(形態によっては、普通のノートPCよりも場所とらないしね。)
ソレ以外の場所でも、バッテリ内蔵のタブレットなりノートPCなりとして小さい画面で作業したり、何も無い場所で第三者にプレゼンしたり〜と色々使える気がする。(バフにはそういう機会ないけれど。)
拠点では外部出力を前提とするのであれば「常に同じ環境」を持ち歩くことが出来る小型のPCとして結構魅力的。
持ち運び可能な開発環境として使うなら、個人的には(仮想化の関係で)最低でもCorei5以上、メモリ8GB以上は欲しいけれど。

公開日:2014年11月15日
タグ:,

超ホーダイに使い放題対象アプリが追加されたらしい。

定額でのWindowsソフトウェア定額サービス、「超ホーダイ」に使い放題対象のアプリが追加されたらしいです。

・11月10日(月)追加
 webサービス「web筆王」
  ブラウザ上で年賀状を簡単に作成できるサービス。
  Windowsでも、タブレットでも、Macでも使えます。
  「超ホーダイ」ページから本サービスを選ぶだけで使えるようになります。

・11月13日(木)追加
 「カンタン 切り抜き写真」
  ドラッグするだけで簡単に写真の切り抜きができるツール。
  超ホーダイで筆王をご利用中の場合は、先日のバージョンアップで本ツールも追加されています。

 「Ezphoto3」
  撮影時に劣化する色彩を、実際の印象に近く再現できる総合画像編集ソフト。

 「簡単!チラシ印刷 千客万来5 プレミアム」
  テンプレートを選ぶだけで、簡単にチラシやポスターなどが作れるソフト。

ソースネクストのお知らせメールより引用

さらに「いきなりPDF」だかのバージョンがあがったとか。
何か頑張ってるね、ソースネクスト。

ちなみにバフは、前回の記事後、アニメ見たりするのに忙しくて、現時点ではあまり使用出来てない感じ。
素敵なサービスだとは思うのだけれど!

公開日:2014年11月13日
タグ:,

Twitterの「非公開アカウント」(鍵アカウント?)の発言を推測する方法。

釣りのような・・・というかモロに釣りな感じのタイトルですが、最近PV低迷気味なので、今後こういう糞みたいなタイトル多用して、糞みたいな記事量産してみようかと。(あ。糞とか言っちゃった。キャ☆)

さて、Twitterにおける非公開アカウントは承認されたアカウントしか閲覧する事が出来ませんが…。
非公開アカウントのつぶやきに対して公開アカウントが飛ばした、メンションやリプライ等は普通に閲覧することが出来ます。

Twitter検索では特定のスクリーンネーム宛のリプライ等を検索する事ができます。
これを利用します。

Twitter検索で…。
toオプション(リプライのみ)
to:対象のスクリーンネーム

@オプション(リプライ・メンション)
@対象のスクリーンネーム

などと検索し、非公開アカウントに対するリプライ・メンションを参照する事で、非公開アカウントの発言を「推測」する事が出来るかもしれません。元のツイートを引用した上でリプライとかされてたら、モロですよね。
逆に言えば、非公開アカウントの方は、それらのリプライ等から自身のツイートを推測される可能性があるという事を意識した方が良いかもしれません。

「Twitter検索のオプションってなんだよ!!」って方向けに
Twitterの高度な検索のURLも貼っておきます。
https://twitter.com/search-advanced?lang=ja

このユーザー宛ての返信 がtoオプション
このユーザーへの@ツイート が@オプション(?)

にそれぞれ該当します。

どうでも良いけど。

というか、「相手が非公開アカウントであることを良いことに、そのアカウントが実際にはしていない発言を非公式RTした風にリプ飛ばしちゃう!」みたいなイタズラする人とかいたら、地味にヤな感じかもしれませんね…。

damedazo

公開日:2014年11月13日
タグ:,
スポンサード リンク