我想將我的 Symfony4 應(yīng)用程序配置為使用msgraph-sdk-php庫讀取和發(fā)送電子郵件。我的應(yīng)用程序?qū)膯蝹€帳戶讀取和發(fā)送電子郵件,我不想將其密碼暴露給我的應(yīng)用程序用戶。因此,我不會使用 OAuth 進行登錄。我的第一次體驗是這段代碼(用于檢索郵箱用戶配置文件):<?phpnamespace App\Graph;use Microsoft\Graph\Exception\GraphException;use Microsoft\Graph\Graph;use Microsoft\Graph\Model\User;class GraphService{ function sentTestMessage() { $userId = "************************************"; $tenantId = "************************************"; $clientId = "************************************"; $clientSecret = "***************************"; $guzzle = new \GuzzleHttp\Client(); $url = 'https://login.microsoftonline.com/' . $tenantId . '/oauth2/token?api-version=1.0'; $token = json_decode($guzzle->post($url, [ 'form_params' => [ 'client_id' => $clientId, 'client_secret' => $clientSecret, 'resource' => 'https://graph.microsoft.com/', 'grant_type' => 'client_credentials', ], ])->getBody()->getContents()); $accessToken = $token->access_token; $graph = new Graph(); $graph->setAccessToken($accessToken); $user=new \stdClass(); try { $user = $graph->createRequest("GET", "/users/".$userId) ->setReturnType(User::class) ->execute(); } catch (GraphException $e) { $user->getGivenName=$e->getMessage(); } return "Hello, I am $user->getGivenName() "; }}但是隨后 Symfony 向我顯示了一個帶有此消息的異常頁面:客戶端錯誤:GET https://graph.microsoft.com/v1.0/users/...導(dǎo)致403 Forbidden響應(yīng):{“錯誤”: {"code": "Authorization_RequestDenied","message": "權(quán)限不足,無法完成操作(已截斷...)現(xiàn)在,在同一用戶登錄的https://developer.microsoft.com/en-us/graph/graph-explorer 中運行時,相同的查詢有效。這些是我給應(yīng)用程序的權(quán)限:我應(yīng)該怎么做才能克服上述問題?
- 1 回答
- 0 關(guān)注
- 320 瀏覽
添加回答
舉報
0/150
提交
取消