🍣
bundleからAPIでアカウント情報を取得
はじめに
bundleというアカウント管理サービスから、APIを使用してアカウントの情報を取得します。
今回はakerunを想定。
bundleはgraphQL APIを採用している。
code
main.gs
const TOKEN = '<bundleのアクセストークン>';
function getAccountList(){
const query = `
{
team {
applicationAccounts(where: {applicationIds: "<アプリのbundle上でのID>"}, first:20){
nodes{
applicationAccountEmails{email},
displayRole,
externalId,
data{displayName}
}
}
}
}
`;
const options = {
'method': 'POST',
'payload': JSON.stringify({query: query}),
'headers': {
'content-type': 'application/json',
'Accept': 'application/json',
'Authorization': `Bearer ${TOKEN}`,
},
};
const res = UrlFetchApp.fetch(URL_API, options);
json = JSON.parse(res).data.team.applicationAccounts.nodes;
return json.map(json => {
return {
role : json.displayRole,
email : json.applicationAccountEmails[0]?.email,
name: json.data.displayName,
id: json.externalId,
};
});
Discussion