microsoftgraph / microsoftgraph/msgraph-sdk-php
[2.0.0-RC13] TransitiveMemberOfRequestBuilder ignoring QueryParameters select
Nessuno ha ancora preso questa issue.
- Lingua principale
- PHP
- Stelle
- 669
- Fork
- 150
- Merge medio
- 15h 21m
- PR unite (30g)
- 3
Descrizione
Upon creating a TransitiveMemberOfRequestBuilder and applying a TransitiveMemberOfRequestBuilderGetRequestConfiguration->queryParameters->select I can see the URL is changed to include the $select fields in odataNextLink. But when I actualy run the query with get($groupsRequestConfig) the additional fields are not returned.
If I take the URL and put it into graph explorer, it returns the fields as requested.
Sample code and var_dump's
<?php
$groupsRequest = $GraphServiceClient->me()->transitiveMemberOf();
$groupsRequestConfig = new TransitiveMemberOfRequestBuilderGetRequestConfiguration();
$groupsRequestConfig->queryParameters = new TransitiveMemberOfRequestBuilderGetQueryParameters();
$groupsRequestConfig->queryParameters->select = [
'id',
'samAccountName',
'displayName',
'groupTypes',
'securityEnabled'
];
$groupsResponse = $groupsRequest->get($groupsRequestConfig); # Http\Promise\FulfilledPromise
$groups = $groupsResponse->wait(); # Microsoft\Graph\Generated\Models\DirectoryObjectCollectionResponse
$myGroups = []
foreach ($groups->getValue() as $g) {
$myGroups[] = $g->getDisplayName();
}
/*
$groups = object(Microsoft\Graph\Generated\Models\DirectoryObjectCollectionResponse)#302 (1) {
["backingStore":"Microsoft\Graph\Generated\Models\BaseCollectionPaginationCountResponse":private]=>
object(Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore)#298 (4) {
["isInitializationCompleted":"Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore":private]=>
bool(true)
["returnOnlyChangedValues":"Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore":private]=>
bool(false)
["store":"Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore":private]=>
array(3) {
["additionalData"]=>
array(3) {
[0]=>
bool(false)
[1]=>
array(1) {
["@odata.context"]=>
string(117) "https://graph.microsoft.com/v1.0/$metadata#directoryObjects(id,samAccountName,displayName,groupTypes,securityEnabled)"
}
[2]=>
int(1)
}
["odataNextLink"]=>
array(2) {
[0]=>
bool(false)
[1]=>
string(303) "https://graph.microsoft.com/v1.0/me/transitiveMemberOf?$select=id%2csamAccountName%2cdisplayName%2cgroupTypes%2csecurityEnabled&$skiptoken=R..."
}
["value"]=>
array(3) {
[0]=>
bool(false)
[1]=>
array(100) {
[0]=>
object(Microsoft\Graph\Generated\Models\Group)#194 (1) {
["backingStore":"Microsoft\Graph\Generated\Models\Entity":private]=>
object(Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore)#193 (4) {
["isInitializationCompleted":"Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore":private]=>
bool(true)
["returnOnlyChangedValues":"Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore":private]=>
bool(false)
["store":"Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore":private]=>
array(6) {
["additionalData"]=>
array(3) {
[0]=>
bool(true)
[1]=>
array(0) {
}
[2]=>
int(0)
}
["odataType"]=>
array(2) {
[0]=>
bool(true)
[1]=>
string(22) "#microsoft.graph.group"
}
["id"]=>
array(2) {
[0]=>
bool(true)
[1]=>
string(36) "b...4"
}
["displayName"]=>
array(2) {
[0]=>
bool(true)
[1]=>
NULL
}
...
$g = object(Microsoft\Graph\Generated\Models\Group)#556 (1) {
["backingStore":"Microsoft\Graph\Generated\Models\Entity":private]=>
object(Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore)#555 (4) {
["isInitializationCompleted":"Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore":private]=>
bool(true)
["returnOnlyChangedValues":"Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore":private]=>
bool(false)
["store":"Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore":private]=>
array(6) {
["additionalData"]=>
array(3) {
[0]=>
bool(true)
[1]=>
array(0) {
}
[2]=>
int(0)
}
["odataType"]=>
array(2) {
[0]=>
bool(true)
[1]=>
string(22) "#microsoft.graph.group"
}
["id"]=>
array(2) {
[0]=>
bool(true)
[1]=>
string(36) "8...8"
}
["displayName"]=>
array(2) {
[0]=>
bool(true)
[1]=>
NULL
}
....
*/
?>
PS. Please create more documentation, this sdk is a monster for having so little documentation and examples.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia da TransitiveMemberOfRequestBuilder->get() e dalla gestione di queryParameters->select, quindi segui il modo in cui la risposta popola DirectoryObjectCollectionResponse e i modelli Group. Confronta i campi richiesti nell’URL generato con i campi disponibili dopo wait(); il lavoro è completato quando le proprietà selezionate vengono restituite in modo coerente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- php
- Ambito
- api
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100