我想將我的 Symfony4 應用程序配置為使用msgraph-sdk-php庫讀取和發送電子郵件。我的應用程序將從單個帳戶讀取和發送電子郵件,我不想將其密碼暴露給我的應用程序用戶。因此,我不會使用 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/...導致403 Forbidden響應:{“錯誤”: {"code": "Authorization_RequestDenied","message": "權限不足,無法完成操作(已截斷...)現在,在同一用戶登錄的https://developer.microsoft.com/en-us/graph/graph-explorer 中運行時,相同的查詢有效。這些是我給應用程序的權限:我應該怎么做才能克服上述問題?
添加回答
舉報
0/150
提交
取消