Google API 第16回

投稿者: | 2015年9月1日

今回はAnalytics Metadata APIについて紹介します。

■Analytics Metadata APIについて
Analytics Reporting APIsのリストや列(dimensionsとmetrics)を取得できます。
Analytics Metadata APIはAnalytics Core Reporting APIと組み合わせて使用することができます。
組み合わせることでAnalytics Metadata APIで取得した列から
特定の種類の列を抽出しオリジナルのグラフを作成することができます。

Java、JavaScript、PHP、Pythonなどの言語に対応しています。

■Analytics Metadata APIの使用方法
今回はJavaScriptを用いた使用方法を説明します。
Analytics Metadata APIを使用するにはAPIを有効にする必要があります。
下記手順でAPIを有効にします。
Google Developer Consoleにアクセスし、適当なプロジェクトを選択します。
左メニューの「API」からGoogle Analytics APIを有効にします。

次にコードを記述します。
下記のようなURLをスクリプトタグで読み込ませることで動作します。

callbackにはコールバック関数を指定します。

返り値は下記のようなJSONで取得できます。
リクエストしたデータはitemsに配列として格納されています。
itemsに格納されているパラメータについて説明します。
idは一意となる列のIDです。
kindはidの種類を示します。
attributesにはidについての詳細な情報があります。
attributesに格納されているパラメータについて説明します。
typeは列のタイプ(DIMENSION、METRIC)を示します。
dataTypeは取得できるデータの型(STRING、INTEGER、PERCENT、TIME、CURRENCY、FLOAT)を
示します。
groupは列がどのグループに属するかを示します。例えば、ユーザーに関することならUserに属します。
statusは列が非推奨かどうかを示します。
uiNameは列の名称です。
descriptionは列の説明文です。
allowedInSegmentsはセグメントでの使用許可を示します。

render({
    "kind": "analytics#columns",
    "etag": "\"o-85COrcxoYkAw5itMLG4AKNpMY/djN6NpyLRgvDATyvQe7M0_OSKgc\"",
    "totalResults": 436,
    "attributeNames": [
        "replacedBy",
        "type",
        "dataType",
        "group",
        "status",
        "uiName",
        "appUiName",
        "description",
        "calculation",
        "minTemplateIndex",
        "maxTemplateIndex",
        "premiumMinTemplateIndex",
        "premiumMaxTemplateIndex",
        "allowedInSegments"
    ],
    "items": [
        {
            "id": "ga:userType",
            "kind": "analytics#column",
            "attributes": {
                "type": "DIMENSION",
                "dataType": "STRING",
                "group": "User",
                "status": "PUBLIC",
                "uiName": "User Type",
                "description": "A boolean indicating if a user is new or returning. Possible values: New Visitor, Returning Visitor.",
                "allowedInSegments": "true"
            }
        },
...
    ]
});

取得したJSONはコールバック関数で処理することができます。
下記のような処理をすることで列のIDを取得することができます。

function render(res) {
    for(var i = 0; i < res.items.length; i++)
    {
        console.log(res.items[i].id);
    }
}

以上がAnalytics Metadata APIの説明になります。

Analytics Metadata APIの利点は現在使用できる列や変更・廃止された列を知ることができる点です。
またAnalytics Core Reporting APIと組み合わせることができるので、
列に関するプログラムの変更が必要なときに役立ちます。

次回は、Analytics Management APIについて紹介します。

<参考サイト>
Analytics Metadata API