microsoftgraph / microsoftgraph/msgraph-sdk-php
Delta request for sites doesn't return the correct ID of the site, only a subset
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 669
- Forks
- 150
- Avg merge
- 15h 21m
- Merged PRs (30d)
- 3
Description
I am using the latest version (2.3.0), and I want to get the list of all sites.
When I use the classical SitesRequestBuilderGetRequestConfiguration and invoke
$response = $context->sites()->get($configuration)->wait();
I get the correct set of values - instances of \Microsoft\Graph\Generated\Models\Site where ids of all the listed sites conform to the full specification of "Site collection hostname, Site collection unique ID, Site unique ID".
When I use DeltaRequestBuilderGetRequestConfiguration and invoke
$context->sites()->delta()->get()->wait()
all the instances of \Microsoft\Graph\Generated\Models\Site look identical, with the exception of the id field, which is suddenly truncated to the Site unique ID only. (Which isn't really unique globally, only within a certain site collection.)
The official documentation is a bit unclear on this. The example for obtaining the whole set clearly indicates that full ids should be returned:
"id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740",
but the "Removed" response only indicates the Site unique ID only.
"id": "bd565af7-7963-4658-9a77-26e11ac73186",
Without consistent behavior, the delta requests will be unusable.
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 reproducing the two calls shown in the issue: SitesRequestBuilderGetRequestConfiguration and the sites delta request. Compare the returned Site ids with the Microsoft Graph site-delta documentation, including the removed response example. Done means the SDK behavior is either corrected or the API inconsistency is confirmed and clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100