msgraph-sdk-python-core
msgraph-sdk-python-core copied to clipboard
AttributeError: 'Request' object has no attribute 'options'
Describe the bug
AttributeError: 'Request' object has no attribute 'options' when trying to get DriveItem content.
To Reproduce Steps to reproduce the behavior:
data = await client.drives.by_drive_id(drive_id).items.by_drive_item_id(item_id).content.get()
Expected behavior
retrieved bytes object from DriveItem
Additional context relevant package versions
$ pip list |grep -E "^(azure|micro|ms)"
azure-core 1.26.4
azure-identity 1.12.0
microsoft-kiota-abstractions 0.5.1
microsoft-kiota-authentication-azure 0.2.0
microsoft-kiota-http 0.4.1
microsoft-kiota-serialization-json 0.3.2
microsoft-kiota-serialization-text 0.2.0
msal 1.22.0
msal-extensions 1.0.0
msgraph-core 1.0.0a4
msgraph-sdk 1.0.0a12
stacktrace
File "/home/user/example/example/microsoft365.py", line 66, in __walk_folder
file_data = await client.drives.by_drive_id(drive_id).items.by_drive_item_id(item.id).content.get()
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/msgraph/generated/drives/item/items/item/content/content_request_builder.py", line 56, in get
return await self.request_adapter.send_primitive_async(request_info, "bytes", error_mapping)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/httpx_request_adapter.py", line 205, in send_primitive_async
response = await self.get_http_response_message(request_info)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/httpx_request_adapter.py", line 320, in get_http_response_message
resp = await self._http_client.send(request)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/httpx/_client.py", line 1617, in send
response = await self._send_handling_auth(
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/httpx/_client.py", line 1645, in _send_handling_auth
response = await self._send_handling_redirects(
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/httpx/_client.py", line 1682, in _send_handling_redirects
response = await self._send_single_request(request)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/httpx/_client.py", line 1719, in _send_single_request
response = await transport.handle_async_request(request)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/msgraph_core/middleware/async_graph_transport.py", line 21, in handle_async_request
response = await self.pipeline.send(request)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/middleware.py", line 31, in send
return await self._first_middleware.send(request, self._transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/redirect_handler.py", line 65, in send
response = await super().send(request, transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/middleware.py", line 57, in send
return await self.next.send(request, transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/retry_handler.py", line 77, in send
response = await super().send(request, transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/middleware.py", line 57, in send
return await self.next.send(request, transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/parameters_name_decoding_handler.py", line 48, in send
response = await super().send(request, transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/middleware.py", line 57, in send
return await self.next.send(request, transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/msgraph_core/middleware/telemetry.py", line 48, in send
response = await super().send(request, transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/middleware.py", line 54, in send
response = await transport.handle_async_request(request)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/msgraph_core/middleware/async_graph_transport.py", line 21, in handle_async_request
response = await self.pipeline.send(request)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/middleware.py", line 31, in send
return await self._first_middleware.send(request, self._transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/redirect_handler.py", line 65, in send
response = await super().send(request, transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/middleware.py", line 57, in send
return await self.next.send(request, transport)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/retry_handler.py", line 68, in send
current_options = self._get_current_options(request)
File "/home/user/.cache/pypoetry/virtualenvs/example-r_fbvPX4-py3.10/lib/python3.10/site-packages/kiota_http/middleware/retry_handler.py", line 111, in _get_current_options
request_options = request.options.get(RetryHandlerOption.get_key()) # type:ignore
AttributeError: 'Request' object has no attribute 'options'
Any further updates on this? I'm also encountering it, with this code:
def get_detected_apps(self) -> pl.DataFrame:
apps_array = []
async def _get_detected_apps() -> None:
apps = await self._client.device_management.detected_apps.get()
for i in range(len(apps.value)):
apps_array.append(apps.value[i])
print(len(apps_array))
while apps is not None and apps.odata_next_link is not None:
apps = await self._client.device_management.detected_apps.with_url(apps.odata_next_link).get()
for i in range(len(apps.value)):
apps_array.append(apps.value[i])
print(len(apps_array))
asyncio.run(_get_detected_apps())
df = pl_df(apps_array)
return df
It seems to get about 2600 apps in (50 per page), and then fails.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\env\Lib\site-packages\kiota_http\middleware\url_replace_handler.py", line 58, in _get_current_options current_options = request.options.get( # type:ignore ^^^^^^^^^^^^^^^ AttributeError: 'Request' object has no attribute 'options'
thanks for reporting this issue, we have since released a new version of the SDK which this issue doesn't apply to. We encourage you to migrate to the new version and open a new issue if you still need help