添付ファイル付きのGmailメッセージをkintoneに自動的にアップロード
を参考に、Gmailをkintoneに追加することを考えています。
(添付ファイルは不要だったのでその部分は削除しました)
開発者環境ではうまくレコード作成してくれたのですが、本番環境ではうまくいきません。
Response code is "400.0"と出まして、クライアント証明書を利用したセキュアアクセスを利用しているためと考えております。
クライアント証明書の認証情報を入れるのだと思いますが、どのように入れるかが分かりません。
どなたか分かる方はご教授いただけないでしょうか。
'use strict';
const domain = "xxxx.s.cybozu.com";
const appId = 00x;
const apiToken = "xxxxxx";
const appName = "xxx";
// 検索条件に合った受信メールを取得する
function getGmailMessage() {
//指定した件名で未読メールのみ取得
const threads = GmailApp.search('is:unread subject:(お問い合わせフォームより)');
const recordObjs = [];
for (let i = 0; i < threads.length; i++) {
const messages = threads[i].getMessages();// Get messages
for (let j = 0; j < messages.length; j++) {
const recordObj = {};
const message = messages[j];
if (message.isUnread()) { // スレッド内の未読メールのみ対象
//メール本文から情報抽出
var str=message.getPlainBody();
var SP=[];
SP=str.split('会社名');
var temp=SP[1];
SP=[];
SP=temp.split('お名前');
var Customer=SP[0];
temp=SP[1];
SP=[];
SP=temp.split('メールアドレス');
var Name=SP[0];
temp=SP[1];
SP=[];
SP=temp.split('電話番号');
var mailadress=SP[0];
temp=SP[1];
SP=[];
SP=temp.split('お問い合わせ内容');
var phonenumber=SP[0];
temp=SP[1];
SP=[];
SP=temp.split('-----');
var Detail='【ホームページ問い合わせ】'+SP[0];
// メールの送信者
recordObj.Customer = {value: Customer};
// メールの送信者
recordObj.Name = {value: Name};
// 送信元メールアドレス
recordObj.mailadress = {value: mailadress};
// メールの件名
recordObj.phonenumber = {value: phonenumber};
// メールの本文
recordObj.Detail = {value: Detail};
//必須項目の初期値をその他に指定
recordObj.QType={value:"その他"};
// 既読にする
message.markRead();
}
recordObjs.push(recordObj);
}
}
return recordObjs;
}
function sendToKintone() {
const apps = {
YOUR_APPLICATION1: {
appid: appId,
name: appName,
token: apiToken,
}
};
const manager = new KintoneManager.KintoneManager(domain, apps);
const records = getGmailMessage();
// recordsにメールの情報が取得できた場合にのみkintoneにPOSTする
if (records.length > 0) {
const response = manager.create('YOUR_APPLICATION1', records);
// 成功すればcodeに200が返る
const code = response.getResponseCode();
Logger.log('Response code is "%s"', code);
} else {
Logger.log('No record found');
}
}