Heart Break Station

1.Twitterアプリケーションの作成

Twitterアプリケーション開発のページを開き、Twitterのアカウントでサインイン。

サインイン

右上にある「Create a new application」をクリック。

Create a new application

「Application Details」のName、Description、Websiteを設定。Callback URLの設定は不要です。

Application Details

下の方にある「Yes, I agree」をチェックし、CAPTHCAを入力して「Create your Twitter application」をクリック。

Create your Twitter application

次の画面の下にある「Create my access token」をクリック。

Create my access token

これで設定完了です。赤枠で示した

  • Consumer key
  • Consumer secret
  • Access token
  • Access token secret

を後の作業で利用します。

設定完了

2.PHP認証ライブラリのダウンロード

githubの「twitteroauth」の「ZIP」をクリックしてアーカイブをダウンロード。

twitteroauth

アーカイブを展開して、中にある、

  • twitteroauth/OAuth.php
  • twitteroauth/twitteroauth.php

を利用します(twitteroauthフォルダをそのまま使います)。

3.JSON→Atom変換スクリプト

twitteroauthフォルダに、下記の内容をコピーして任意のPHPファイル名で配置してください。$nameにユーザー名(他人でもOK)、$consumerKey、$consumerSecret、$accessToken、$accessTokenSecretに先程作成したアプリケーションの赤枠部分の内容を設定します。

<?php
require_once("twitteroauth/twitteroauth.php");
 
$name = '名前';
$filename = $name . "_atom.xml";
 
$consumerKey = "xxxxxxxxxxxxxxxxxxxxxx";
$consumerSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$accessToken = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$accessTokenSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
 
$connection = new TwitterOAuth($consumerKey,$consumerSecret,$accessToken,$accessTokenSecret);
$request = $connection->OAuthRequest('https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=' . $name, "GET", array("count"=>"10"));
$results = json_decode($request);
 
//var_dump($results);
 
if (isset($results)) {
    $file = fopen($filename, 'w');
    fwrite($file, '<?xml version="1.0" encoding="utf-8"?>' . "\n" . '<feed xmlns="http://www.w3.org/2005/Atom">' . "\n");
    fwrite($file, '<title>' . $name . "のフィード</title>\n");
    fwrite($file, '<link rel="alternate" type="text/html" href="' . 'https://twitter.com/' . $name . '" />' . "\n");
    fwrite($file, '<id>tag:' . $name . "</id>\n");
    fwrite($file, '<updated>');
    foreach ($results as $key => $val) {
        fwrite($file, date('Y-m-d H:i:s', strtotime($results[$key]->created_at)));
        break;
    }
    fwrite($file, "</updated>\n");
    foreach ($results as $key => $val) {
        fwrite($file, "<entry>\n<title>" . $results[$key]->text . "</title>\n");
        fwrite($file, '<link rel="alternate" type="text/html" href="' . 'https://twitter.com/' . $name . '/status/' . $results[$key]->id_str . '"/>' . "\n");
        fwrite($file, '<id>tag:' . $results[$key]->id_str . "</id>\n");
        fwrite($file, '<published>' . date('Y-m-d H:i:s', strtotime($results[$key]->created_at)) . "</published>\n");
        fwrite($file, "<author>\n<name>" . $name . "</name>\n</author>\n" . '<content type="html">');
        fwrite($file, $results[$key]->text);
        fwrite($file, "</content>\n</entry>\n");
    }
    fwrite($file, '</feed>');
    fclose($file);
}

このファイルをcronなどで起動するか、ブラウザから実行すれば、「ユーザー_atom.xml」というAtomファイルを同じディレクトリに出力します。

出力したAtomファイルの使い方はお任せします。

  1. cr96 reblogged this from darylfranz
  2. overtechnology reblogged this from darylfranz
  3. harabiwa reblogged this from darylfranz
  4. athsear reblogged this from darylfranz
  5. tmbtter reblogged this from ase-hujiko
  6. toshi0104 reblogged this from darylfranz
  7. ase-hujiko reblogged this from darylfranz
  8. darylfranz posted this