Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
2
2020-01-21 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-21 microsoft-graph-api-mark
Commits
c460e8e0
Commit
c460e8e0
authored
Jan 21, 2020
by
Mark Siy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updates on office 365 api
parent
4923c32d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
130 additions
and
137 deletions
+130
-137
Api.php
src/Api.php
+13
-137
Group.php
src/Group.php
+27
-0
User.php
src/User.php
+90
-0
No files found.
src/Api.php
View file @
c460e8e0
...
@@ -10,11 +10,18 @@ use Microsoft\Graph\Model;
...
@@ -10,11 +10,18 @@ use Microsoft\Graph\Model;
class
Api
class
Api
{
{
private
$tenantId
;
private
$tenantId
;
private
$clientId
;
private
$clientId
;
private
$clientSecret
;
private
$clientSecret
;
private
$accessToken
;
private
$accessToken
;
public
$User
;
public
$Group
;
public
function
__construct
()
{
$this
->
User
=
new
User
(
$this
);
$this
->
Group
=
new
Group
(
$this
);
}
public
function
setTenantId
(
$tenantId
)
public
function
setTenantId
(
$tenantId
)
{
{
...
@@ -49,151 +56,20 @@ class Api
...
@@ -49,151 +56,20 @@ class Api
$this
->
accessToken
=
$token
->
access_token
;
$this
->
accessToken
=
$token
->
access_token
;
}
}
p
rivate
function
triggerGraph
()
p
ublic
function
triggerGraph
()
{
{
$graph
=
new
Graph
();
$graph
=
new
Graph
();
$graph
->
setAccessToken
(
$this
->
accessToken
);
$graph
->
setAccessToken
(
$this
->
accessToken
);
return
$graph
;
return
$graph
;
}
}
public
function
getAllUsers
(
)
public
function
toCollection
(
$result
)
{
{
$result
=
$this
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/users'
)
->
execute
();
return
collect
(
json_decode
(
json_encode
(
$result
)));
if
(
empty
(
$result
))
{
return
false
;
}
if
(
!
isset
(
$result
[
'value'
]))
{
return
false
;
}
return
collect
(
$result
[
'value'
]);
}
}
public
function
getUser
(
$id
)
public
function
toObject
(
$result
)
{
{
$result
=
$this
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/users/'
.
$id
)
->
execute
();
return
json_decode
(
collect
(
$result
));
if
(
empty
(
$result
))
{
return
false
;
}
//return $result;
}
public
static
function
getUserProfilePhoto
(
$id
)
{
$accessToken
=
Api
::
getAccessToken
();
// Create a Graph client
$graph
=
new
Graph
();
$graph
->
setAccessToken
(
$accessToken
);
$userProfilePhoto
=
$graph
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/photo/$value'
)
->
setReturnType
(
Model\User
::
class
)
->
execute
();
return
dd
(
$userProfilePhoto
);
}
public
function
getUserManager
(
$id
)
{
$accessToken
=
Api
::
getAccessToken
();
// Create a Graph client
$graph
=
new
Graph
();
$graph
->
setAccessToken
(
$accessToken
);
$userManager
=
$graph
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/manager'
)
->
setReturnType
(
Model\User
::
class
)
->
execute
();
return
dd
(
$userManager
);
}
public
function
getUserMessages
(
$id
)
{
$accessToken
=
Api
::
getAccessToken
();
// Create a Graph client
$graph
=
new
Graph
();
$graph
->
setAccessToken
(
$accessToken
);
$userMessages
=
$graph
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/messages'
)
->
setReturnType
(
Model\User
::
class
)
->
execute
();
return
dd
(
$userMessages
);
}
public
function
getUserEvents
(
$id
)
{
$accessToken
=
Api
::
getAccessToken
();
// Create a Graph client
$graph
=
new
Graph
();
$graph
->
setAccessToken
(
$accessToken
);
$userEvents
=
$graph
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/events'
)
->
setReturnType
(
Model\User
::
class
)
->
execute
();
return
dd
(
$userEvents
);
}
public
function
getUserDrive
(
$id
)
{
$accessToken
=
Api
::
getAccessToken
();
// Create a Graph client
$graph
=
new
Graph
();
$graph
->
setAccessToken
(
$accessToken
);
$userDrive
=
$graph
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/drive'
)
->
setReturnType
(
Model\User
::
class
)
->
execute
();
return
dd
(
$userDrive
);
}
public
function
getUserGroups
(
$id
)
{
$accessToken
=
Api
::
getAccessToken
();
// Create a Graph client
$graph
=
new
Graph
();
$graph
->
setAccessToken
(
$accessToken
);
$userGroups
=
$graph
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/memberOf'
)
->
setReturnType
(
Model\User
::
class
)
->
execute
();
return
dd
(
$userGroups
);
}
public
function
getAllGroups
()
{
$accessToken
=
Api
::
getAccessToken
();
// Create a Graph client
$graph
=
new
Graph
();
$graph
->
setAccessToken
(
$accessToken
);
$groups
=
$graph
->
createRequest
(
'GET'
,
'/groups'
)
->
setReturnType
(
Model\Group
::
class
)
->
execute
();
return
dd
(
$groups
);
}
}
}
}
src/Group.php
0 → 100644
View file @
c460e8e0
<?php
namespace
Nexus\MicrosoftGraphApi
;
use
Illuminate\Http\Request
;
use
GuzzleHttp\Client
as
Guzzle
;
use
Microsoft\Graph\Graph
;
use
Microsoft\Graph\Model
;
class
Group
extends
Api
{
public
$Api
;
public
function
__construct
(
$parent
)
{
$this
->
Api
=
$parent
;
}
public
function
all
()
{
$result
=
$this
->
Api
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/groups'
)
->
setReturnType
(
Model\Group
::
class
)
->
execute
();
return
$this
->
Api
->
toCollection
(
$result
);
}
}
src/User.php
0 → 100644
View file @
c460e8e0
<?php
namespace
Nexus\MicrosoftGraphApi
;
use
Illuminate\Http\Request
;
use
GuzzleHttp\Client
as
Guzzle
;
use
Microsoft\Graph\Graph
;
use
Microsoft\Graph\Model
;
class
User
extends
Api
{
public
$Api
;
public
function
__construct
(
$parent
)
{
$this
->
Api
=
$parent
;
}
public
function
all
()
{
$result
=
$this
->
Api
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/users'
)
->
setReturnType
(
Model\User
::
class
)
->
execute
();
return
$this
->
Api
->
toCollection
(
$result
);
}
public
function
get
(
$id
)
{
$result
=
$this
->
Api
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/users/'
.
$id
)
->
setReturnType
(
Model\User
::
class
)
->
execute
();
return
$this
->
Api
->
toObject
(
$result
);
}
public
function
getProfilePhoto
(
$id
)
{
$result
=
$this
->
Api
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/photo/$value'
)
->
setReturnType
(
Model\ProfilePhoto
::
class
)
->
execute
();
return
$this
->
Api
->
toObject
(
$result
);
}
public
function
getManager
(
$id
)
{
$result
=
$this
->
Api
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/manager'
)
->
setReturnType
(
Model\User
::
class
)
->
execute
();
return
$this
->
Api
->
toObject
(
$result
);
}
public
function
getMessages
(
$id
)
{
$result
=
$this
->
Api
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/messages'
)
->
setReturnType
(
Model\Message
::
class
)
->
execute
();
return
$this
->
Api
->
toCollection
(
$result
);
}
public
function
getEvents
(
$id
)
{
$result
=
$this
->
Api
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/events'
)
->
setReturnType
(
Model\Event
::
class
)
->
execute
();
return
$this
->
Api
->
toCollection
(
$result
);
}
public
function
getDrive
(
$id
)
{
$result
=
$this
->
Api
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/drive'
)
->
setReturnType
(
Model\Drive
::
class
)
->
execute
();
return
$this
->
Api
->
toObject
(
$result
);
}
public
function
getMemberOf
(
$id
)
{
$result
=
$this
->
Api
->
triggerGraph
()
->
createRequest
(
'GET'
,
'/users/'
.
$id
.
'/memberOf'
)
->
setReturnType
(
Model\Group
::
class
)
->
execute
();
return
$this
->
Api
->
toCollection
(
$result
);
}
}
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