Microsoft365: Get User ID

Microsoft365 User ID Get

Microsoft365 ユーザID 取得

Get a Microsoft365 user id by email.

Auto Step icon
Configs for this Auto Step
conf_OAuth2
A: OAuth 2.0 Setting *
conf_email
B: User Email *#{EL}
conf_userId
C: User ID (Update) *
conf_log
X: Access Log (update)
Script (click to open)


// Get Microsoft365 User ID via Microsoft Graph API v1.0 (ver. 202210)
// (c) 2022, Questetra, Inc. (the MIT License)

//// == 工程コンフィグの参照 / Config Retrieving ==
const oauth2  = configs.get( "conf_OAuth2" ) + "";

const email   = configs.get( "conf_email" ) + "";

const dataId_userId = configs.get( "conf_userId" );
const dataId_log    = configs.get( "conf_log" );

//engine.log("email:"+email);

//// == 演算 / Calculating ==
let accessLog = "";
let uri = "https://graph.microsoft.com/v1.0/users?$filter=startswith(mail,'" + email + "')";
let response = httpClient.begin()
  .authSetting( oauth2 )
  .get( uri );
accessLog += "---GET request--- " + response.getStatusCode() + "\n";
accessLog += response.getResponseAsString() + "\n";


//// == ワークフローデータへの代入 / Data Updating ==
const status = response.getStatusCode();

let userId = "";
if( status >= 300 ){
  engine.log(accessLog);
  throw `Failed in GET request. status: ${status}`;
} else {
  const jsonObj = JSON.parse( response.getResponseAsString() );
  const values = jsonObj.value;
  for (let i = 0; i < values.length; i++) {
    let value = values[i];
    if (value.mail == email) {
      userId = value.id;
      engine.setDataByNumber( dataId_userId, userId );
    }
  }
}
if (userId == "") {
  throw `specified user None`;
}

if( dataId_log !== "" ){
  engine.setDataByNumber( dataId_log, accessLog );
}

Download

warning Freely modifiable JavaScript (ECMAScript) code. No warranty of any kind.
(Installing Addon Auto-Steps are available only on the Professional edition.)

Notes

Capture

Scroll to Top

Discover more from Questetra Support

Subscribe now to keep reading and get access to the full archive.

Continue reading