Outlook REST APIを使用してユーザーのOutlookメールからメールを取得しようとしています。私は、私は、OutlookのREST APIへAJAX
呼び出しをしようとするとき、私は次のエラーを取得する、しかし、成功したユーザーを認証し、ユーザーのアクセストークンを取得することがされています。また、私はerror
からエラーを以下の取得ユーザーのメールを取得しようとしたときにOutlook REST API 403エラーが発生しました
GET https://outlook.office.com/api/v2.0/me/messages?callback=jQuery31008093694845457056_1490285639120 403 (Forbidden)
AJAX
の関数コールバック:
Object {readyState: 4, status: 404, statusText: "error"}
ここでは私のコードです:私は間違っ
var ADAL = new AuthenticationContext({
instance: 'https://login.microsoftonline.com/',
tenant: 'common',
clientId: '', //Intentionally left blank here
redirectUri: 'http://localhost:8383/',
callback: userSignedIn,
popUp: true
});
function signIn() {
ADAL.login();
}
function userSignedIn(err, token) {
console.log('userSignedIn called');
if (!err) {
console.log(token); //This works!
fetchUserSentMails(token);
} else {
console.error("error: " + err);
}
}
function fetchUserSentMails(token) {
var user = ADAL.getCachedUser();
console.log(user.profile.name); //This works!
$.ajax({ //This doesn't work
type: 'GET',
crossDomain: true,
url: 'https://outlook.office.com/api/v2.0/me/messages',
dataType: 'jsonp',
headers: {'Authorization': 'Bearer ' + token},
success: function (res) {
console.log(res);
},
error: function (x, t, m) {
console.log(x);
console.log(t);
console.log(m);
}
});
}
何をやっています?
私はトークンが 'id_token'であり、Outlook Mail APIにアクセスするための' access_token'ではないと思います。 –
はい。私はあなたが行方不明だと思ういくつかのコードで私の答えを更新するつもりです。 –
私はそのコードを追加しました。しかし、私は 'ERROR:"トークン更新操作がタイムアウト "エラーのために失敗しました。私はこのエラーを探して、上記のコードの直前に 'ADALContext.handleWindowCallback()'を追加しましたが、無限ループを開始します。私はchrome開発ツールの 'ローカルストレージ 'から期限切れの' id_tokens'をクリアしようとしても、それと同じエラーです。私は何を間違えているのですか? –