こちらの記事を参考にカスタマイズを行っています。
https://developer.cybozu.io/hc/ja/articles/115005646066-kintoneのイベント-フェアカレンダーの日程をGoogleカレンダーに公開しよう-
<質問>
記事内にあるapi_keyやclient_idをkintoneユーザー情報から取得して利用したいと思っています。そのため、初期化処理のタイミング等が記載通りでないためか、エラーとなっています。
<エラー文言>
Unhandled Promise Rejection: TypeError: undefined is not an object (evaluating 'gapi.client.init')
gapiの処理は読み込み時に行わないと行けないのでしょうか?
function initClient (userInfo) {
gapi.client.init({
'apiKey':userInfo.api_key,
'clientId':userInfo.client_id,
'scope':SCOPE,
'discoveryDocs':DISCOVERY_DOCS,
}, (error) => {
alert('Googleへの認証に失敗しました。: ' + error);
});
};
async functionpublishEvent(record) {
// レコードのデータの取得
const userCode = record.code.value;
// user情報取得
const userInfo = awaitgetUserInfo(userCode)
// // APIクライアントとOAuth2ライブラリのロード
gapi.load('client', initClient(userInfo));
〜略〜
}
// レコード登録後イベント
kintone.events.on(['app.record.create.submit.success', 'app.record.edit.submit.success'], (event) => {
publishEvent(event.record);
});
| |
| | |