microsoftgraph / microsoftgraph/msgraph-sdk-python
BatchRequestItem use absolute url path instead of relative when, causing "Ressource not found" 400 error
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 630
- Forks
- 96
- Merge moyen
- 15 h 20 min
- PR mergées (30 j)
- 3
Description
Describe the bug
Here is my code :
batch_requests = BatchRequestContent()
for message_id in message_ids:
query_params = MessagesRequestBuilder.MessagesRequestBuilderGetQueryParameters(
select=[
'id',
'conversationId',
'internetMessageId',
'subject',
'body',
'bodyPreview',
'from',
'toRecipients',
'ccRecipients',
'bccRecipients',
'receivedDateTime',
'sentDateTime',
'internetMessageHeaders',
'isRead',
'isDraft',
'importance',
'hasAttachments',
'categories',
]
)
request_configuration = RequestConfiguration(
query_parameters=query_params
)
request = service.me.messages.by_message_id(message_id).to_get_request_information(
request_configuration=request_configuration
)
request_id = str(uuid.uuid4())
batch_request_item = BatchRequestItem(id=request_id, request_information=request)
# batch_request_item.url = batch_request_item.url.replace('https://graph.microsoft.com/v1.0', '')
batch_requests.add_request(request_id=request_id, request=batch_request_item)
Without the line I've commented, it causes a 400 "Resource not found for the segment 'https:'".
I figured out the problem by looking at your code.
I guess it is not the behavior as you intended.
Expected behavior
The server answer a code HTTP 200
How to reproduce
1 - List message ids from Outlook
2 - Try to get the email content in batch
SDK Version
No response
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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par suivre BatchRequestItem et BatchRequestContent.add_request à l’aide de l’exemple Python, puis examinez comment l’URL de la requête est construite pour les opérations par lots. Vérifiez le comportement avec la reproduction du lot de messages Outlook et confirmez que l’élément soumis utilise un chemin relatif et reçoit HTTP 200 sans le contournement.
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
- 45/100