microsoftgraph / microsoftgraph/msgraph-sdk-python

Python SDK Returning None for All Non-ID Value Fields

Abierto
#945 2 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Needs: Attention :wave: priority:p1 type:bug
Lenguaje dominante
Python
Estrellas
630
Forks
96
Merge medio
15 h 20 min
PR fusionados (30 d)
3

Descripción

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_

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Ejecuta la solicitud memberOf proporcionada con Python SDK 1.11.0, incluyendo RequestConfiguration, NativeResponseHandler y la llamada with_url().get, y compara su JSON con el resultado de Graph Explorer. Empieza rastreando cómo el controlador de respuestas asigna los campos que no son IDs. Se considera terminado cuando displayName y otros valores seleccionados se conservan en lugar de devolverse como None.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
api
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.