precyx
12/17/2019 - 9:09 AM

UserId

Get UserID in Modern Sharepoint by context.

import { WebPartContext } from "@microsoft/sp-webpart-base";
import { SPHttpClient } from "@microsoft/sp-http";

export const getUserId = (context: WebPartContext) => {
  const payload: string = JSON.stringify({
    logonName: context.pageContext.user.loginName
  });

  var postData = {
    body: payload
  };

  var endPoint = `${context.pageContext.site.absoluteUrl}/_api/web/ensureuser`;

  return context.spHttpClient
    .post(endPoint, SPHttpClient.configurations.v1, postData)
    .then((response: any) => {
      var d = response.json();
      if (d && d.Id) return d.Id;
      else return null;
    });
};