[2.0.0-RC13] TransitiveMemberOfRequestBuilder ignoring QueryParameters select

Aperta
#1,228 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
php
Ambito
api

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.

Descrizione

ToTriage

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.

Lingua principale
PHP
Stelle
669
Fork
150
Merge medio
15h 21m
PR unite (30g)
3

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoftgraph/msgraph-sdk-php

Tutte le issue di microsoftgraph/msgraph-sdk-php

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.