LoginSignup
2
3

More than 5 years have passed since last update.

AdobeAnalytics ReportAPIの使い方メモ

Last updated at Posted at 2016-09-22

adobeのページを見ながら試してみたメモ

まずは概要

この辺を参考に。
https://marketing.adobe.com/developer/documentation/analytics-reporting-1-4/get-started
https://marketing.adobe.com/developer/get-started/enterprise-api/c-enterprise-api

https://marketing.adobe.com/developer/ja/~ にいけば日本語版が置いてあるけども、最新版ではないらしく、少し書いてある内容が違うよう。

使い方

① Report.Queueでレポート作成を命令。レポートIDを受け取る。
② Report.GetでレポートIDを渡して、結果を取得(作成中の場合はnotReadyが返ってくる)
③ Report.Getで結果を取得(レポートが出来上がって入れば、結果が返ってくる)

ぺスプラ

・数秒に1回くらいチェックすべし(毎秒1回以上チェックしてくれるな。)
・キューは並列で投げてもOK

エンドポイント

・RESTの場合はこんな感じ
https://api4.omniture.com/admin/1.4/rest/?method=Report.Queue
・地域によってエンドポイントは異なるので、定期的にチェックした方がいいらしい。(Company.GetEndpointでチェック)
・とりあえず試したところ、なぜかシンガポール、太平洋北西地域どちらでも叩けた。

準備が必要なもの

・ユーザー名 → 管理者に作ってもらう。
・暗号鍵 → 管理者に作ってもらう。
・Web Service Accessへのアクセス権 → 管理者に付与してもらう。
・rsid(レポートスイートID) → 管理者に聞く。

レポートスイートIDの確認方法

・上記の通り、管理者にanalyticsの管理コンソールから確認してもらう。
・もしくは、s_code.jsのs_accountに設定している値から確認も可能。

叩いてみる(REST 1.4)

ここで試せる
https://marketing.adobe.com/developer/api-explorer
・エンドポイント取得(この時はエンドポイントが不明なので api.omniture.com に向けて叩く)
image

・送信内容と結果(***は置き換え。)
image
https://api4.omniture.com/admin/1.4/rest/
が正解らしい。

・エンドポイントを今確認した場所(今回はSingapore)に設定してReport.Queueをたたく
image

・送信内容と結果(***と999は置き換え。)
https://marketing.adobe.com/developer/documentation/analytics-reporting-1-4/get-started
を参考に、Ranked Report を試してみる
image

・レポートを取得
image

・送信内容と結果(ここもid的なものは適宜置き換えて)
reportIDには先ほど返ってきた値をセット。
image
ページの閲覧ランキングが配列で返ってくる。あとは好きに加工すればOK。

最後に、Report.Queueの部分だけPHPで書いてみたので載せておく

※こちらのサイトを参考にさせて頂きました。
http://d.hatena.ne.jp/i_ogi/20100214/wsse
http://d.hatena.ne.jp/ryster/20070907/1189148449

<?php
$url = 'https://api4.omniture.com/admin/1.4/rest/?method=Report.Queue';
$user_name = "**********";
$password = "**********";

$data = array(
        'reportDescription' => array(
                        'reportSuiteID' => '**********',
                        'elements' => array( array(
                                 'id' => 'page'
                       ))
        )
);

$data_json = json_encode($data);

$nonce = md5(mt_rand());
$created = date(DATE_ISO8601);

$x_wsse = sprintf('UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s"',
          $user_name,
          base64_encode(sha1($nonce . $created . $password, true)),
          base64_encode($nonce),
          $created);
$context = stream_context_create(
             array(
                 'http' => array(
                     'method' => "POST",
                     'header' => "X-WSSE: $x_wsse",
                     'content' => $data_json
                 )
             )
);

echo file_get_contents($url, 0, $context);
?>

・細かい条件指定などはまた今度確認。
・バージョン1.4からOAuth2に対応してるとのことで、WSSEよりもそっちを使いたい。

2
3
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
2
3