About
- App Storeにユーザの方々から寄せられた評価コメントを取得するためのスクリプトです
- Google Apps Scriptは偉大。非エンジニアでもこれならできる。
- Spreadsheetに突っ込んだあとは、分類するなりPriority付けるなりステータス付けるなりお好きにどうぞ
Ready
下準備です。
1. データを流し込みたいSpreadsheetを作っておく
Googleスプレッドシートを新規作成しておきます。
シート名をiOSとかにしておくといいかもしれません。
2. Google Apps ScriptをGoogle Driveに接続して開く
[新規] -> [その他] -> Google Apps Scriptをクリックします。
※初めて使う人はこのメニューがないかと思うので、 [+ アプリを追加] から追加しておきます
3. 準備完了
Script Editorが立ち上がったと思います。以上で準備完了です。
Copy and Paste
こちらのコードをScript editorにコピペしてください。
// フィードのURL設定
var feedURL = "https://itunes.apple.com/COUNTRY_CODE/rss/customerreviews/id=APP_ID/sortBy=mostRecent/xml";
// Sheet&Data
var ss = SpreadsheetApp.openById('KEY').getSheetByName('SHEET_NAME');
function myFunction() {
// フィードを取得
var response = UrlFetchApp.fetch(feedURL);
// XMLをパース
var xml = XmlService.parse(response.getContentText());
// namespace
var namespace = xml.getRootElement().getNamespace();
var appleNameSpace = xml.getRootElement().getNamespace("im");
// 各データの要素を取得
var entries = xml.getRootElement().getChildren("entry", namespace);
// 要素数を取得
var length = entries.length;
// setValuesメソッドに渡す配列定義
var data = [];
// 取得したデータをループさせる(1件目はアプリ情報だから除外するため i=1)
for(var i = 1; i < length; i++) {
// ワーク配列
var args = [];
// timestamp
args.push(entries[i].getChildText("updated", namespace));
// ratings
args.push(entries[i].getChildText("rating", appleNameSpace));
// title
args.push(entries[i].getChildText("title", namespace));
// content
args.push(entries[i].getChildText("content", namespace));
// setValues用配列にpush
data.push(args);
}
// getRangeで範囲設定(開始行, 開始列, 終了行, 終了列)
ss.getRange(1, 1, length, 4).setValues(data);
}
Constants
定数の説明をします。
1. COUNTRY_CODE
どこの国での評価コメントがほしいか指定します。
日本なら jp
と指定します。
2. APP_ID
調べたいアプリのStore URLから、この太字部分を抜き出して貼り付けます。
...itunes.apple.com/jp/app/facebook/id 284882215?mt=8
3. KEY
データを突っ込みたいSpreadsheetのURLから、この太字部分を抜き出して貼り付けます。
...docs.google.com/spreadsheets/d/2GDxJrp2plnwkXlWKyRCvF8Oqk3B2qG9q6ePJvUThVu0/edit#gid=0
4. SHEET_NAME
Save & Run
適当なプロジェクト名を付けてScriptを保存し、実行します。
Spreadsheetを確認するとデータが入っているかと思います。
(問題あったら教えてください)
※あまり連続で実行すると403返ってくるかもしれません
Reference
参考にした記事です。