Commit 4923c32d authored by Marco Schmiedel's avatar Marco Schmiedel

Changes

parent d3848e06
......@@ -2,65 +2,87 @@
namespace Nexus\MicrosoftGraphApi;
use Illuminate\Http\Request;
use GuzzleHttp\Client;
use GuzzleHttp\Client as Guzzle;
use Microsoft\Graph\Graph;
use Microsoft\Graph\Model;
class Api
{
public static function getAccessToken()
private $tenantId;
private $clientId;
private $clientSecret;
private $accessToken;
public function setTenantId($tenantId)
{
$this->tenantId = $tenantId;
}
public function setClientId($clientId)
{
$this->clientId = $clientId;
}
public function setClientSecret($clientSecret)
{
$tenantId = env('OAUTH_TENANT_ID');
$clientId = env('OAUTH_APP_ID');
$clientSecret = env('OAUTH_APP_PASSWORD');
$this->clientSecret = $clientSecret;
}
$guzzle = new Client();
public function getAccessToken()
{
$guzzle = new Guzzle();
$url = 'https://login.microsoftonline.com/' . $tenantId . '/oauth2/v2.0/token';
$url = 'https://login.microsoftonline.com/' . $this->tenantId . '/oauth2/v2.0/token';
$token = json_decode($guzzle->post($url, [
'form_params' => [
'client_id' => $clientId,
'client_id' => $this->clientId,
'scope' => 'https://graph.microsoft.com/.default',
'client_secret' => $clientSecret,
'client_secret' => $this->clientSecret,
'grant_type' => 'client_credentials',
],
])->getBody()->getContents());
return $token->access_token;
$this->accessToken = $token->access_token;
}
public static function getAllUsers()
private function triggerGraph()
{
$accessToken = Api::getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$graph->setAccessToken($this->accessToken);
return $graph;
}
$users = $graph->createRequest('GET', '/users')
->setReturnType(Model\User::class)
->execute();
public function getAllUsers()
{
$result = $this->triggerGraph()->createRequest('GET', '/users')->execute();
if(empty($result))
{
return false;
}
if(!isset($result['value']))
{
return false;
}
return dd($users);
return collect($result['value']);
}
public static function getUser($id)
public function getUser($id)
{
$accessToken = Api::getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$user = $graph->createRequest('GET', '/users/'.$id)
->setReturnType(Model\User::class)
->execute();
$result = $this->triggerGraph()->createRequest('GET', '/users/'.$id)->execute();
if(empty($result))
{
return false;
}
return dd($user);
//return $result;
}
public static function getUserProfilePhoto($id)
......@@ -79,7 +101,7 @@ class Api
return dd($userProfilePhoto);
}
public static function getUserManager($id)
public function getUserManager($id)
{
$accessToken = Api::getAccessToken();
......@@ -95,7 +117,7 @@ class Api
return dd($userManager);
}
public static function getUserMessages($id)
public function getUserMessages($id)
{
$accessToken = Api::getAccessToken();
......@@ -111,7 +133,7 @@ class Api
return dd($userMessages);
}
public static function getUserEvents($id)
public function getUserEvents($id)
{
$accessToken = Api::getAccessToken();
......@@ -127,7 +149,7 @@ class Api
return dd($userEvents);
}
public static function getUserDrive($id)
public function getUserDrive($id)
{
$accessToken = Api::getAccessToken();
......@@ -143,7 +165,7 @@ class Api
return dd($userDrive);
}
public static function getUserGroups($id)
public function getUserGroups($id)
{
$accessToken = Api::getAccessToken();
......@@ -159,7 +181,7 @@ class Api
return dd($userGroups);
}
public static function getAllGroups()
public function getAllGroups()
{
$accessToken = Api::getAccessToken();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment