Textwellのバージョンアップでアプリ検索AppSearchが復活しました

中の人、ありがとう。


untitled - Textwell でツイート埋め込み用 HTML を取得するアクション “Tweet Embedder”(T.request 版)
上野 学(@manabuueno)これまで二度ほど紹介している Tweet Embedder ですが、最新の Textwell(iOS版はv1.3.4、Mac版はv1.1.1)で追加された T.req...
ueno氏がまたTextwellを便利にしてくれました。新しいバージョン1.3.4には T.request() という関数が増えています。これ、iOS8になって動かなくなったアクションの救済策なんです。AppSearchやSongSearchといった外部APIを叩くタイプのアクションが甦えります。これがあるとないとではモグログの根幹に関わる。


Textwell 1.3.4
分類: 仕事効率化,ユーティリティ
価格: \300 (Sociomedia)

とはいえ、ソースを書き換えないといけないので順番に行きます。まずはAppStoreからアプリのリンクを作るアクション。AppHtmlWebより手数が少ない。

// PHGのat番号を at に登録してください。
at="10l4Z2";

// リンクプレートの配色
color="black";
title="darkblue";
background="ghostwhite";
border="lightgray";


// プログラム本体
type=(confirm("・iPhone用→[Cancel]\n・iPad用→[OK]"))? "iPadSoftware":"software";
T.title(T.current);
T.request( {
  url: 'http://itunes.apple.com/search',
  data: {
    country: "JP",
    entity: type,
    limit: 20,
    term: T.stdin.currentText
  },
  callback: function( q ) {
    Disp(q.responseText);
  }
});

function Disp(x){
  res=JSON.parse(x).results;
  document.write("<meta name=viewport content=initial-scale=1>");
  for(i=0;i<res.length;i++){
    app=res[i];
    url=app.trackViewUrl;
    link=url+"&at="+at;
    name=app.trackName;
    icon=app.artworkUrl60;
    icon100=app.artworkUrl100;
    version=app.version;
    price=app.formattedPrice;
    artist=app.artistName;
    genres=app.genres;
    plate="<blockquote name='"+name+"' style='background-color:"+background+";padding:10px;border-radius:5px;border:1px solid "+border+";'><a href="+link+" style='color:"+title+";'><img width=80 align=left src="+icon100+" style='border-radius:5px;margin:1px 15px 1px 1px;box-shadow:1px 2px 3px gray;'><font size=+1><strong>"+name+" "+version+"</strong></font></a><br/><font size=-1 style='color:"+color+";'>分類: "+genres+"<br/>価格: "+price+" ("+artist+")</font><br clear=all></blockquote>\n";
    sample="<div style=color:white;background-color:black;padding:10px;><a onClick=Paste('"+icon100+"')><img align=left width=75 src="+icon+" style=border-radius:5px;></a><a onClick=Paste('"+escape(plate)+"')><strong>"+name+" "+version+"</strong></a><br>分類:"+genres+"<br>価格:"+price+" ("+artist+") <a href="+url+"><img src=http://r.mzstatic.com/ja_jp/images/web/linkmaker/badge_appstore-sm.gif></a><br clear=all></div>";
    document.write(sample);
  }
  document.write("<hr>");
}

function Paste(x){
  text="\n"+unescape(x);
  location="textwell://insert?text="+encodeURIComponent(text);
}

Import Textwell ActionAppSearch



カーソル行にアプリ名を書いてアクション実行。



iPhone用かiPad用か選んで、しばらくAppStoreの返事待ち。返事が返ってくると、一挙にリストが出来上がるのがT.request()の凄さ。速いです。


Workflow: Powerful Automation Made Simple 1.0.1
分類: 仕事効率化,ユーティリティ
価格: \300 (DeskConnect)

リストでアイコンをタップすると、アイコン画像のURLアドレスが返ってくる。アプリのタイトルをタップすると、上のようなリンクプレートが貼り付く。「App Store」のロゴをタップすると、AppStoreアプリが起動する。この3つの選択肢。


ソース先頭にある at変数にご自分のアフィリエイトIDを入れてください。LinkMakerで「at=」と付いてくる部分です。書き換えないとアフィリエイトが僕に入ってくるだけなので誰か困るわけではありませんけどw。あとは配色のカスタマイズもどうぞ。
T.request()が走るとT("insert")などの関数が使えなくなるようです。仕方ないので、TextwellのURLスキームを直接呼び出す方式で対応しました。まだ、T.request()の性質をつかめていません。これから研究して最適化していこうと思います。