Question

mie.8 on Fri, 09 Aug 2019 09:21:10


TOPページにログインした際に、自動で自分の予定表を取得し表示したいです。
(取得先:Exchange Online , OutLook Online)

色んなページを見て、アプリを登録し、JavaScriptを組んでみましたが「アクセストークン」は取得出来ているようですが、「ajax」でMicrosoftGraph API を使おうとするとエラーが出ます。
使用API設定の所が「404 Not Found」となります。
API設定:https://graph.microsoft.com/v2.0/me/calendar (MSALを使っているので、Ver2 設定です。。)

自分のアプリ登録・設定が間違えているのか、JavaScriptが間違えているのか分かりません。

【登録したアプリ情報】
・リダイレクトURI:JS実装ページのURL
・APIのアクセス許可(同意済):MicrosoftGraph(Calendars.Read , User.Read)
・マニフェスト:accessTokenAcceptedVersion → 2 , OAuth2AllowImplicitFlow → true
・概要 → リダイレクトURI → 「暗黙の付与」の『アクセストークン , IDトークン』は、両方チェックは入ってます。

に変更しました。。


【作成JS、一部抜粋 - ajax でAPIを使う所のコードです。】
・MSAL ver 1.1.1
・jQuery ver 1.11.1

・ブラウザ IE 11

const msalConfig =  {
      auth : {
       clientId     : "登録したアプリID(クライアントID)",
       authority    : "https://login.microsoftonline.com/common"
      },
      cache : {
       cacheLocation   : "localStorage",
       storeAuthStateInCookie : true
      }
     };

var requestObj  =  { scopes : ["https://graph.microsoft.com/user.read"] };

var myMSALObj  = new Msal.UserAgentApplication(msalConfig);

myMSALObj.acquireTokenSilent(requestObj).then(function (loginResponse) {
 access_token = loginResponse.accessToken;

 // MG API 予定表取得
 $.ajax({
  type  : "GET",
  url  : "https://graph.microsoft.com/v2.0/me/calendar",
  headers :  {
      "Authorization" : "Bearer " + access_token
      ,"Content-Type"  : "application/json"
     }
 }).done(function (response) {
  console.log("自分の情報 : " + response);
 }).fail(function (jqXHR, textStatus, errorThrown) {
   console.error(jqXHR);
 });
}
).catch(function (error) {
 console.log(error);
 alert(error);
});

初めてやっているので、単語等、色々調べ調べここまで来ました。。初心者です。
どなたか、ご教示下さい。お願いします。