"Syntax error at position 88" error response
還沒有人認領這個 Issue。
評估
研究方向
從 traceback 中顯示的產生 request builder 開始:users/item/online_meetings/get_all_transcriptsmeeting_organizer_user_id_meeting_organizer_user_id_with_start_date_time_with_end_date_time/get_all_transcriptsmeeting_organizer_user_id_meeting_organizer_user_id_with_start_date_time_with_end_date_time_request_builder.py。重現該呼叫,並將其 request 與直接的 Graph URL 以及可正常運作的 with_url workaround 進行比較。當具型別的 SDK 呼叫不需要 with_url 即可要求有效的 transcripts 時,即表示完成。
由索引模型根據 Issue 內容生成。
描述
Describe the bug
I am trying to use the msgraph-beta-sdk module to get meeting transcripts for a specific user. It errors with a syntax error message from the server along with a 400 status code. Worth noting that I got this same error from the non-beta module also.
Using the credentials/user_id I've referenced in the code snippet I was able to pull back valid data when posting to f"https://graph.microsoft.com/beta/users/{user_id}/onlineMeetings/getAllTranscripts(meetingOrganizerUserId='{user_id}')", so I am confident this isn't a permissions issue.
Thanks!
Expected behavior
A valid set of transcripts
How to reproduce
`from azure.identity import ClientSecretCredential
from msgraph_beta import GraphServiceClient
from datetime import datetime
import urllib.request
import urllib.parse
import json
login and lookup details
tenant_id = ""
client_id =""
client_secret =""
user_id = ""
Create credential and Graph client (app-only auth)
credential = ClientSecretCredential(
tenant_id=tenant_id,
client_id=client_id,
client_secret=client_secret,
)
scopes = ["https://graph.microsoft.com/.default"]
client = GraphServiceClient(credentials=credential, scopes=scopes)
print("Graph token initialized successfully.")
await client.users.by_user_id(user_id).online_meetings.get_all_transcriptsmeeting_organizer_user_id_meeting_organizer_user_id_with_start_date_time_with_end_date_time.get()`
SDK Version
No response
Latest version known to work for scenario above?
1.58.0
Known Workarounds
Just discovered this and now I am curious if this is the intended pattern and I just missed it. If chain a call to with_url I end up putting my filters there and I get back my strong typed result without an error
wu = f"https://graph.microsoft.com/beta/users/{user_id}/onlineMeetings/getAllTranscripts(meetingOrganizerUserId='{user_id}')"
await client.users.by_user_id(user_id).online_meetings.get_all_transcriptsmeeting_organizer_user_id_meeting_organizer_user_id_with_start_date_time_with_end_date_time.with_url(wu).get()
Debug output
APIError
Code: 400
message: None
error: MainError(additional_data={}, code='BadRequest', details=None, inner_error=InnerError(additional_data={}, client_request_id='b07e3e18-aa42-4058-a3cf-1ff04185ab33', date=datetime.datetime(2026, 4, 27, 17, 40, 4), odata_type=None, request_id='de6393da-6230-4a5a-bc61-8e4adf989035'), message="Syntax error at position 88 in 'meetingOrganizerUserId='@meetingOrganizerUserId'startDateTime=@startDateTimeendDateTime=@endDateTime'.", target=None)
Click to expand log
await client.users.by_user_id(user_id).online_meetings.get_all_transcriptsmeeting_organizer_user_id_meeting_organizer_user_id_with_start_date_time_with_end_date_time.get()
File /local_disk0/.ephemeral_nfs/envs/pythonEnv-607f871d-6826-47c5-a79e-c958f6292d9e/lib/python3.12/site-packages/msgraph_beta/generated/users/item/online_meetings/get_all_transcriptsmeeting_organizer_user_id_meeting_organizer_user_id_with_start_date_time_with_end_date_time/get_all_transcriptsmeeting_organizer_user_id_meeting_organizer_user_id_with_start_date_time_with_end_date_time_request_builder.py:53, in GetAllTranscriptsmeetingOrganizerUserIdMeetingOrganizerUserIdWithStartDateTimeWithEndDateTimeRequestBuilder.get(self, request_configuration)
50 raise Exception("Http core is null")
51 from .get_all_transcriptsmeeting_organizer_user_id_meeting_organizer_user_id_with_start_date_time_with_end_date_time_get_response import GetAllTranscriptsmeetingOrganizerUserIdMeetingOrganizerUserIdWithStartDateTimeWithEndDateTimeGetResponse
---> 53 return await self.request_adapter.send_async(request_info, GetAllTranscriptsmeetingOrganizerUserIdMeetingOrganizerUserIdWithStartDateTimeWithEndDateTimeGetResponse, error_mapping)
File /local_disk0/.ephemeral_nfs/envs/pythonEnv-607f871d-6826-47c5-a79e-c958f6292d9e/lib/python3.12/site-packages/kiota_http/httpx_request_adapter.py:191, in HttpxRequestAdapter.send_async(self, request_info, parsable_factory, error_map)
188 parent_span.add_event(RESPONSE_HANDLER_EVENT_INVOKED_KEY)
189 return await response_handler.handle_response_async(response, error_map)
--> 191 await self.throw_failed_responses(response, error_map, parent_span, parent_span)
192 if self._should_return_none(response):
193 return None
File /local_disk0/.ephemeral_nfs/envs/pythonEnv-607f871d-6826-47c5-a79e-c958f6292d9e/lib/python3.12/site-packages/kiota_http/httpx_request_adapter.py:573, in HttpxRequestAdapter.throw_failed_responses(self, response, error_map, parent_span, attribute_span)
564 else:
565 exc = APIError(
566 (
567 "The server returned an unexpected status code and the error registered"
(...)
571 response_headers, # type: ignore
572 )
--> 573 raise exc
574 finally:
575 _throw_failed_resp_span.end()
Configuration
No response
Other information
No response
- 主要語言
- Python
- 星號
- 44
- 分支
- 16
- 平均合併
- 20 小時 39 分鐘
- 30 天內合併 PR
- 3
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
microsoftgraph/msgraph-beta-sdk-python 的其他 Issue
-
enhancement
難度 1/5 1 小時以內 新手友好度 72/100
-
type:bug type:investigation
難度 3/5 1-2 天 新手友好度 48/100
microsoftgraph/msgraph-beta-sdk-python#1033 · 1 個 reaction ·
-
status:waiting-for-triage type:bug
難度 3/5 1-2 天 新手友好度 42/100
microsoftgraph/msgraph-beta-sdk-python#1006 · 1 則留言 ·
-
status:waiting-for-triage type:bug
難度 2/5 1-3 小時 新手友好度 48/100
microsoftgraph/msgraph-beta-sdk-python#987 · 2 則留言 ·
-
status:waiting-for-triage type:bug
難度 4/5 3-5 天 新手友好度 45/100
查看 microsoftgraph/msgraph-beta-sdk-python 的全部 Issue
相似的 Issue
-
documentation help wanted
難度 2/5 1-3 小時 新手友好度 90/100
-
難度 2/5 1-3 小時 新手友好度 90/100
simonw/sqlite-utils#872 ·
-
難度 2/5 1-3 小時 新手友好度 88/100
-
難度 2/5 1-3 小時 新手友好度 82/100
-
難度 2/5 1-3 小時 新手友好度 78/100