microsoftgraph / microsoftgraph/msgraph-sdk-php
Configuring Graph Requests and using Response Getters
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 669
- Forks
- 150
- Avg merge
- 15h 21m
- Merged PRs (30d)
- 3
Description
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": "Martin@jobcop.co.uk",
"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"displayName": "Martin Thorburn"
}
},
"owner": {
"user": {
"email": "Martin@jobcop.co.uk",
"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?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the PHP SDK request-builder examples for the /me/drive/root/children and /drives/{id} endpoints, along with the response object documentation. Document how HTTP endpoint paths map to PHP calls and how to inspect returned fields and nested data. Done means the guidance covers both request translation and response access, with examples matching the reported queries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100