You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Microsoft Graph API中使用用户AccessToken或基于Tenant ID的AccessToken

使用Microsoft Graph API遇到的问题及尝试方法

方法1:通过SSO获取Access Token调用API

  • 单点登录(SSO)后获取Access Token
  • 将该Access Token作为Bearer Token调用Graph API
public function redirectToMicrosoft(){
    return Socialize::driver('graph')->scopes(['offline_access'])->redirect();
}

public function handleMicrosoftCallback(){   
    $user = Socialize::driver('graph')->user();
    return $user->access_token;
}

调用结果错误:

  • 请求地址:https://graph.microsoft.com/v1.0/me/onenote/pages
    • 错误代码:40001
    • 错误信息:"请求不包含有效的身份验证令牌。"
  • 请求地址:https://graph.microsoft.com/v1.0/users/gowrishankari97@outlook.com/events
    • 错误代码:ErrorAccessDenied
    • 错误信息:"访问被拒绝。请检查凭据并重试。"

方法2:通过租户ID等参数获取Access Token调用API

  • 基于Tenant ID和指定参数获取Access Token
  • 使用获取到的Access Token调用API
public function getAccessToken()
{
    $tenantId = env('MICROSOFT_TENANT_ID');
    $clientSecret = env('MICROSOFT_CLIENT_SECRET');
    $clientId = env('MICROSOFT_CLIENT_ID');        

    $input = [
        'grant_type' => 'client_credentials',
        'client_id' => $clientId,
        'scope' =>"https://graph.microsoft.com/.default",
        'client_secret' => $clientSecret,
    ];
  
    $client = new Client();
    $response = $client->request('POST', "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token", ['form_params' => $input]);
 
    $statusCode = $response->getStatusCode();
    $responseBody = json_decode($response->getBody(), true);

    $this->accessToken = $responseBody['access_token'];
    return $responseBody;
}

调用结果错误:

  • 请求地址:https://graph.microsoft.com/v1.0/me/events
    • 错误代码:BadRequest
    • 错误信息:"/me 请求仅在委托身份验证流中有效。"
  • 请求地址:https://graph.microsoft.com/v1.0/users/gowrishankari97@outlook.com/events
    • 错误代码:OrganizationFromTenantGuidNotFound
    • 错误信息:"租户GUID '{TENANT_ID}' 对应的租户不存在。"

更新内容

  • 权限配置截图:显示已配置的Microsoft Graph权限
  • 使用Azure AD配置的邮箱登录时,可正常获取授权码,Access Token API运行正常(对应登录成功截图)
  • 使用其他Outlook邮箱登录时,出现错误(对应登录失败截图)

授权码:
0.AS4AgI6YLYeIu0eXbgo3fHk6PszspcPofddJs-W7b5ajEO-5AC8.AgABAAIAAAAmoFfGtYxvRrNriQdPKIZ-AgDs_wUA9P-kBJSNPkGJJsNJgB510cZ69mO3JTSYLh89i4PpBhv1Y8L0nk51BFcTUh7bEe2i5dC24W1eeEqsOCuGKJcUYbmfdHCKHkpnaUBAFoHsIGhyydpHwMvezF4pAnL8_-OxgJeM-xPaj3WFxqZfEvwP6R4TFxQ4IP5hovS1erTxlMCS63dA9hdL7jbkpDHjrp3wgqs01zRt_q5RAPCH4KtRGtirnMnll-3PSEkcLixKUQkeC261Z_0JsK5aGRidAv0IFNs_nw5cPtowTEuEiv99EJZQLJbt7qLOhz0DIPBBeBhpJl2bi6OsdOV4UZ59eQafOEanxA-5_pC6gy3H3nc9kiVfPddlneBXKGbFbaoXHyl9hi_i7bzNcJDubNteM2TQETYy7VgnoRpNEbh_eOZNV4T1rVtr8h5F4fxg9MaWkmQog8s9dxtDwY4MCYq9UBb1tVTeOlm38w3oyQWR-3ZCbD8wV4IZV3TEzrqJfhURm8E_cgcgTLdzOm-8uK9f-E0NAC4aodqXf_V3d8wLtR6QJi-WNOKlB-8THR-WNuMZvBcZiL38h_zToPbgwnL0fSRfsuoU57kwE8t30HpcDzRq2PilxgdDjoGolStRNEv-RDrgTS-66EewjHevBwbU_5A0nSfNzjhksl5NQfuEdnoRSZ3QTH4jwLgzIZ3aSkwphkoRtDJRa_Ri1U8PdAzolRl2SlJIYp7sqvIfpPL9SSRgEA6ftusb8seE9gEcGXKvvRFEQza4KgrsC9NHNMQunJFlQxbb5Y1SpdgRWC9BsK7oIGgegj5F4CKoBgKqlaOmis2I_QvZxVil5KSq4zft&state=12345&session_state=9c29347d-1351-48c8-90dc-c1ab380a6221


内容的提问来源于stack exchange,提问作者Shankari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 00:54:57