Configuring Graph Requests and using Response Getters
Hi much of the PHP SDK documentation refers to HTTP requests like https://graph.microsoft.com/v1.0/me/drive/root/children
However when I try to translate this to a Graph query
$result = $graphServiceClient->users()->byUserId("my-user-id")->drive()->root()->children()->get()->wait();
or
$result = $graphServiceClient->users()->byUserId("my-user-id")->drive()->root()->children()->post()->wait();
The SDK tells me root() and children() are not part of the drive request builder.
Is there documentation that shows how to translate HTTP examples like "https://graph.microsoft.com/v1.0/me/drive/root/children" into their PHP equivalent? Or, even better, documentation that shows each of the endpoints for PHP SDK?
Lastly does the PHP SDK, provide a response getter and/or getter for every data field returned from the server? Again, the documentation gives HTTP request examples with JSON response examples,
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drives/$entity",
"@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET me/drive?$select=driveType,owner",
"createdDateTime": "2023-10-22T00:11:21Z",
"description": "",
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"lastModifiedDateTime": "2024-06-27T10:39:41Z",
"name": "OneDrive",
"webUrl": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Documents",
"driveType": "business",
"createdBy": {
"user": {
"displayName": "System Account"
}
},
"lastModifiedBy": {
"user": {
"email": "[email protected]",
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"displayName": "Martin Thorburn"
}
},
"owner": {
"user": {
"email": "[email protected]",
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"displayName": "Martin Thorburn"
}
},
"quota": {
"deleted": 1030849340,
"remaining": 1097450601323,
"state": "normal",
"total": 1099511627776,
"used": 1030177113
}
}
however, if I use a query like:
$result = $graphServiceClient->drives()->byDriveId('my-drive-id')->get()->wait();
I do not seem to get anything like the documentated json response. Indeed if I use
print_r($result);
all I get is a huge, unformatted object !!
Is there a reponse getter, i.e.
$result->getResponse();
or
$result->getbody();
How would I even try to read the response, or even know what getters to use to access the retuted data ?
I woould really appreciate some help and guidance on this?