10
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iOS App Storeの評価コメントをGASで取得してSpreadsheetに突っ込む

Last updated at Posted at 2018-05-04

About

  • App Storeにユーザの方々から寄せられた評価コメントを取得するためのスクリプトです
  • Google Apps Scriptは偉大。非エンジニアでもこれならできる。
  • Spreadsheetに突っ込んだあとは、分類するなりPriority付けるなりステータス付けるなりお好きにどうぞ

Ready

下準備です。

1. データを流し込みたいSpreadsheetを作っておく

Googleスプレッドシートを新規作成しておきます。
シート名をiOSとかにしておくといいかもしれません。
スクリーンショット 2018-05-05 1.22.39.png

2. Google Apps ScriptをGoogle Driveに接続して開く

[新規] -> [その他] -> Google Apps Scriptをクリックします。
スクリーンショット 2018-05-05 1.17.06.png

※初めて使う人はこのメニューがないかと思うので、 [+ アプリを追加] から追加しておきます
スクリーンショット 2018-05-05 1.17.59.png

3. 準備完了

Script Editorが立ち上がったと思います。以上で準備完了です。
スクリーンショット 2018-05-05 1.26.54.png

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

僕は iOS と指定しています
ここのことです。
スクリーンショット 2018-05-05 1.22.39.png

Save & Run

適当なプロジェクト名を付けてScriptを保存し、実行します。
Spreadsheetを確認するとデータが入っているかと思います。
(問題あったら教えてください)

※あまり連続で実行すると403返ってくるかもしれません

Reference

参考にした記事です。

10
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?