我做一個HTTP POST請求到微軟登錄獲得訪問令牌與郵件API來使用,請求成功,但是代碼去的錯誤條款我的代碼。角2個HTTP POST數據返回,但轉到錯誤(CORS)
requestAccessToken(code: string)
{
console.log("request access token");
if (code) {
var headers = new Headers();
headers.append("Content-Type", 'application/x-www-form-urlencoded');
headers.append('Accept', 'application/json');
var requestoptions = new RequestOptions({
headers: headers
});
var body = `grant_type=authorization_code&
redirect_uri=http://localhost:4200&
code=`+ code + `&
client_id=4e[................]5ab&
client_secret=CE[..............]BC`;
this.http.post("https://login.microsoftonline.com/common/oauth2/v2.0/token", body, requestoptions).map((res: Response) =>
{
console.log("response given");
const data = res.json();
}).subscribe((data) => {
console.log("The data is = " + data);
}, error => {
console.log("The error is = " + error)
});
}
瀏覽器控制檯顯示此: 的XMLHttpRequest無法加載https://login.microsoftonline.com/common/oauth2/v2.0/token。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此不允許訪問原產地'http://localhost:4200'。 zone.js:2019 XHR加載失敗:POST「https://login.microsoftonline.com/common/oauth2/v2.0/token」。 outlook.service.ts:96錯誤與狀態=響應:0網址:空
和響應顯示我的訪問令牌。那麼爲什麼我無法從代碼中獲得它?爲什麼會出現錯誤條款。
這是一個CORS問題 –
你得到這個數字了嗎?嘗試從https://login.microsoftonline.com/[tenant_id]/oauth2/token獲取訪問令牌時遇到了同樣的錯誤 – hngdev