Optimizely REST APIを使って自サーバーやローカル環境からOptimizelyにアクセス!サンプルコードもあるよ!(PHP, Python版) | Optimizely 正規代理店イー・エージェンシー
  • 2015年06月29日

Optimizely REST APIを使って自サーバーやローカル環境からOptimizelyにアクセス!サンプルコードもあるよ!(PHP, Python版)

タグ :

OptimizelyはREST APIというAPIを公開しています。
このREST APIを利用すると、自分のサーバーやローカル環境から、実験を作成・変更・削除などの操作をしたり、実験結果や設定情報をJSON形式で取得することができます。
今回は、「APIにコールして、プロジェクト情報を取得する」ところまで実践を目指したいと思います。

この記事はこんな方におすすめです。

  • Optimizelyで取得した結果を一括ダウンロードしてレポートに使いたい方
  • ローカル環境から実験を操作したいギークな方
  • 前々からREST APIに興味はあったけれど、まだ使っていない方

2ステップ! Optimizely REST APIからデータを取得

でははじめましょう。
ステップはたったの2つです。

STEP.1.API トークンを取得する

弊社までお問い合わせ下さい。

※APIトークンとは、アカウント所持者のみが取得できるユニークな認証キーであり、認証されたAPIトークンなしにはAPIを介してデータを取得するできません。

STEP.2. 下記コードを叩く!(サンプルコード)

注意事項:
・サンプルコードは、PHP, Python共にCurlがインストールされている環境を想定しています。
・REST APIへのコール数は、プランごとに上限があります。
特にループ処理など組み入れられる際は、上限にご注意ください。
スタータープラン:月1,000コール
エンタープライズ:1日500コール~※お問い合わせ下さい

【PHPの場合】
コード内の APIトークンをこちらに の部分には、ご自身のAPIトークンを入力してください。

$endpoint = "https://www.optimizelyapis.com/experiment/v1/projects/";
$token = "APIトークンをこちらに";
$prj_arr = get_responce($endpoint, $token);

print $prj_arr;

// APIコール
function get_responce($url,$mytoken){
    header('Content-type: application/json; charset=utf-8');
    $ch = curl_init();
    $mytoken = 'Token: '.$mytoken;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array($mytoken));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($ch);
    curl_close($ch);
    return = json_decode($response, true);
}

【Pythonの場合】

import os
import requests
import json

# APIコール
def get_with_response(url,headers):
  req = requests.get(url,headers=headers)
  if req.status_code != 200:
      req.raise_for_status()
  else:
      return req.json()

url = "https://www.optimizelyapis.com/experiment/v1/projects/"
headers = {"Token":"APIトークンをこちらに"}

print get_with_response(url, headers)

ご自身のプロジェクトに関する情報がJSON形式で取得できたのではないかと思います。
また実験名などに日本語文字をお使いの方は文字コードの調整が必要になるかと思います。

今回ご紹介しました https://www.optimizelyapis.com/experiment/v1/projects/ というエンドポイントでは、アカウントに紐づいたプロジェクト一覧とそれぞれの情報が取得できます。

Optimizely REST APIのエンドポイントには、さらに実験の一覧や、特定の実験の結果を取得することができるもの、さらにはプロジェクトや実験をAPI経由で作成等の操作ができるものがございます。

Optimizely Developersにてリファレンスがございます。
Optimizely REST API http://developers.optimizely.com/rest/reference/

とても面白いので、ぜひともトライしてみて下さい!

APIの使い方や、この記事ではよく分からなかったよ!という方がいらっしゃいましたら、別途お問い合わせを頂ければ幸いです。


Optimizelyのサポートに関するお問い合わせはこちらまで

前へ
次へ

ブログの関連記事

ブログのよく読まれている記事

mautic is open source marketing automation