Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
2
2020-01-20 microsoft-graph-api-mark
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Playground
2020-01-20 microsoft-graph-api-mark
Commits
4923c32d
Commit
4923c32d
authored
Jan 21, 2020
by
Marco Schmiedel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changes
parent
d3848e06
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
36 deletions
+58
-36
Api.php
src/Api.php
+58
-36
No files found.
src/Api.php
View file @
4923c32d
...
...
@@ -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/'
.
$t
his
->
t
enantId
.
'/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
;
}
p
ublic
static
function
getAllUsers
()
p
rivate
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
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment