Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2020年2月29日土曜日

Salesforce APIでCaseを新規作成したい


今回やること

新規でCaseを作成する

作成する内容は以下のように設定しておく
  var obj = {
        "Status": "新規",
        "Reason": "理由を書く",
        "Origin": "電話",
        "Subject": "POSTで作成",
        "Priority": "中",
  }


使うメソッドはPOST
"method": "POST",


事前準備

接続アプリケーションを作成して
アクセストークンなどのデータをスクリプトのプロパティに保存しておく

手順は以下のブログに書きました。

SalesforceでAPIを使うために接続アプリケーションを作成したい
Salesforceで接続アプリケーションを作成したい(Lightningの方で)



コード.gs
function postData() {  
  var url = getProp("instance_url") + "/services/data/v47.0/sobjects/Case";
  var response = UrlFetchApp.fetch(url, optionsPost());
  if(response.getResponseCode() === 401) {
    runRefresh();// アクセストークン切れで401ならトークンを更新する
    response = UrlFetchApp.fetch(url, optionsPost());
  }
  Logger.log([response, response.getResponseCode()]);
}

function createPayloadPost() {
  var obj = {
        "Status": "新規",
        "Reason": "理由を書く",
        "Origin": "電話",
        "Subject": "POSTで作成",
        "Priority": "中",
  }
  var json = JSON.stringify(obj);
  return json;
}

function optionsPost() {
  var options = {
    "method": "POST",
    "headers": {
      "Authorization": "Bearer " + getProp("access_token"),
      "Content-Type": "application/json"
    },
    "payload": createPayloadPost(),
    "muteHttpExceptions": true
  }
  return options;
}

function getProp(key) {
  return PropertiesService.getScriptProperties().getProperty(key);
}



参考

レコードを作成する
https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/dome_sobject_create.htm


Latest post

Google Apps Scriptの障害時はIssueTrackerを見てみる - Incidents for Apps Script are reported on Issue Tracker

IssueTracker > Apps Script issues https://issuetracker.google.com/savedsearches/566234 Google Apps Scriptの障害時は IssueTracker に課題が上がっていることが...