::class-exe

Tumblrのダッシュボード新着記事数をLaMetric Timeに表示する

June 25, 2016

Tumblrの新着ポストが気になってしまい、ついついDashboardを見てしまいます。そこで新着ポスト数を示せれば、数ポストのために頻繁に見ることも防げるのではないかと思いました。今回はTumblrのDashboard新着ポスト数をLaMetric Timeに表示してみました。

新着ポスト数の定義は、Dashboardの最新のポストから自分がリブログしたポストまでの数としました。Dashboardみてリブログしないなんてことはまずないので、つまり最後のリブログ以降は新着ということに。

Dashboardの新着ポスト数を取得する

こちらの記事を参考にTumblr用にアプリを作成してみました。

Tumblr APIでwebサービスを作りたい全ての人に向けて書きました

次に、指定した"blog_name"のポストが取得したDashboardのうち何番目のポストか調べます。最大取得ポストは20件ということなので、もし該当するポストが含まれていなかったら、オフセットを指定して次の20件を試みます。インデックスを返すコードは以下のような感じです。自分がリブログしたポストが出てきたら、そこまでのオフセットが新着ポスト数になります。

<?php
require './tumblr-oauth-library.php'; // OAuth関連は上の記事から流用

function getDashboardIndex($name, $offset) {
    $access_token = '';
    $access_token_secret = '';
    $request_url = 'https://api.tumblr.com/v2/user/dashboard';
    $request_method = 'GET';
    $params = array(
        'oauth_token' => $access_token ,
        'oauth_token_secret' => $access_token_secret ,
        'offset' => $offset ,
    );

    $json = tumblr_oauth($request_url, $request_method, $params);
    $array = json_decode($json, true);
    $posts = $array["response"]["posts"];
    $count = 0;
    foreach($posts as $post) {
        if($post["blog_name"] == $name) {
            return $count;
        }
        $count++;
    }
    return -1;
}
?>

新着ポスト数をLaMetric Timeに表示する

最後に新着ポスト数をLaMetric Timeに表示します。次の記事を参考に、LaMetric用アプリを作成しました。

ネットとつながる LED 時計の LaMetric を手に入れたので遊んでみた - 凹みTips

Indicator AppでPollで設定して、JSON形式で新着ポスト数を返します。

PHPでJSONのデータを処理する方法

できました

今回は256件までを上限としました。それ以上のポストを取得しても自分のリブログが見つからなかったら打ち切りとし、「256+」と表示するようにしています。

Dashboard_LaMetric