背景・実現したいこと
自動的にGaroonにあるワークフローを取得するため、GASからGaroonSOAPAPIを実行し、ワークフローを取得する。
実行したAPI:WorkflowGetSentApplicationsById
エラー情報
catchには入らず、"GRN_UTIL_API_6500"が返却された
利用したソースコード
const createPayload = () => {
const payload = DocumentApp.openById(テンプレートファイルID).getBody().getText();
return payload;
}
function BulletinRequest() {
//createXMLメソッドからXMLのpayload部分を取得
const payload = createPayload();
//送信方法を定義
const options = {
“method”: “post”,
“contextType”: “application/soap+xml”,
“muteHttpExceptions”: true,
“payload”: payload
};
const url = “https://サブドメイン.cybozu.com/g/cbpapi/notification/api.csp?”;
try {
//レスポンスを取得
var response = UrlFetchApp.fetch(url, options);
Logger.log(“Success”);
Logger.log(response);
} catch (e) {
Logger.log(“Failure”);
Logger.log(e);
}
}
参照先XML(Googleドキュメント)
<?xml version=“1.0” encoding=“UTF-8”?>
<soap:Envelope xmlns:soap=“http://www.w3.org/2003/05/soap-envelope”>
<soap:Header>
<Action>
WorkflowGetSentApplicationsById
</Action>
<Security>
<UsernameToken>
<Username>ユーザー名</Username>
<Password>パスワード</Password>
</UsernameToken>
</Security>
<Timestamp>
<Created>2010-08-12T14:45:00Z</Created>
<Expires>2037-08-12T14:45:00Z</Expires>
</Timestamp>
<Locale>jp</Locale>
</soap:Header>
<soap:Body>
<BaseGetApplicationStatus>
<parameters>
<application_id>6</application_id>
</parameters>
</BaseGetApplicationStatus>
</soap:Body>
</soap:Envelope>