microsoftgraph / microsoftgraph/msgraph-sdk-python

Python SDK Returning None for All Non-ID Value Fields

Ouverte
#945 2 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Needs: Attention :wave: priority:p1 type:bug
Langage dominant
Python
Étoiles
630
Forks
96
Merge moyen
15 h 20 min
PR mergées (30 j)
3

Description

Describe the bug

In the Graph Explorer API I can run the following get request:

https://graph.microsoft.com/v1.0/me/memberOf?$search="displayName:{display_name}"&$select=displayName,id
Headers: ConsistencyLevel: eventual, Prefer: legacySearch=false

Below is my version in the Python SDK:

request_config = RequestConfiguration(
    options=[ResponseHandlerOption(NativeResponseHandler())]
)
request_config.headers.add("ConsistencyLevel", "eventual")
request_config.headers.add("Prefer", "legacySearch=false")

url = (f'https://graph.microsoft.com/v1.0/me/'
       f'memberOf?$search="displayName:{displayName}"&$select=displayName,id')

groups = await (self
                .user_client
                .me
                .with_url(url)
                .get(request_config))
groups_data = groups.json()
groups_value = groups_data['value']
return groups_value
Expected behavior

In the Graph API Explorer, I get the following result:

  {
      "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#directoryObjects(displayName,id)",
      "value": [
          {
              "@odata.type": "#microsoft.graph.group",
              "displayName": "{display_name}",
              "id": "{group_id}"
          }
      ]
  }

In the Python application, I get the following result:

[{'@odata.type': '#microsoft.graph.group', 'displayName': None, 'id': '{group_id}'}]

So basically, in the Python code, I am only getting the ID field value. All other field values of interest such as displayName are returned as None.

Is there some way to alter this code to make the non-ID field values displayable?

How to reproduce

Running the example code above should be sufficient to reproduce this scenario.

SDK Version

1.11.0

Latest version known to work for scenario above?

No response

Known Workarounds

No response

Debug output
Click to expand log ```
</details>


### Configuration

_No response_

### Other information

_No response_

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Exécutez la requête memberOf fournie avec Python SDK 1.11.0, en incluant RequestConfiguration, NativeResponseHandler et l’appel with_url().get, puis comparez son JSON avec le résultat de Graph Explorer. Commencez par suivre la manière dont le gestionnaire de réponses mappe les champs qui ne sont pas des IDs. Le travail est terminé lorsque displayName et les autres valeurs sélectionnées sont conservés au lieu d’être renvoyés comme None.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
api
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.