LoginSignup
4
7

More than 3 years have passed since last update.

GASでPardotのAPIを扱う方法

Last updated at Posted at 2020-02-16

手順としては
① APIキーの取得をしてプロパティストアに保存
② ①で取得したAPIキーを使ってAPIをたたく

という手順になります。

APIキーは取得後60分間のみ有効なので注意が必要です。

下記のURLを参考にGASでコードを書くと下記の様になります。
https://developer.salesforce.com/docs/atlas.ja-jp.salesforce1api.meta/salesforce1api/pardot_authentication.htm

  var email = ''; //Pardotで登録しているメールアドレス
  var password = ''; //Pardotで登録しているPW
  var user_key = ''; //設定からAPIユーザーキーを取得 ※1

  // API取得用のURL
  var url = 'https://pi.pardot.com/api/login/version/4';

  var parameters = {
    method : 'post',
    payload : 'email='+email+'&password='+password+'&user_key='+user_key+'&format=json',
  };

  var response = UrlFetchApp.fetch(url,parameters);  
  var json = JSON.parse(response.getContentText());
  var api_key = json.api_key;

  var prop = PropertiesService.getScriptProperties();
  prop.setProperty('api_key', api_key);
}

 ※1箇所のユーザーキーは
下記画像の「設定」の中の「私のプロファイル」から取得可能

2020-02-16_10h37_58.jpg


function getData() {

  //上記で取得したAPIキーをプロパティストアから取得
  var prop = PropertiesService.getScriptProperties();
  var api_key = prop.getProperty('api_key');
  var user_key = '';


  //URLを変更することによって取得したい情報を変更
  //http://developer.pardot.com/kb/api-version-4/campaigns/
  //例えばキャンペーン情報がほしい場合は{}をcampaignを入れる
  var url = "https://pi.pardot.com/api/{}/version/4/do/query";  

  var options = {
    method : 'post',
    payload : 'api_key=' + api_key + '&user_key=' + user_key + '&format=json'
  };

  var result = JSON.parse(UrlFetchApp.fetch(url, options).getContentText()).result;
  var total_results = result.total_results; //返ってきたデータ数
  var resultArray = result.{}; //{}は上記で設定したURLと同じcampaignならcampaignを入れる

  var array = [];

  for(var i=0; i<resultArray.length; i++){
    array.push([]);
    array[i].push(resultArray[i].name);
  }

  Logger.log(array);

  var shtName = 'シート名';
  var sht = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(shtName);
  sht.getRange(10,1,array.length,array[0].length).setValues(array);
}

4
7
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
4
7