2017-02-22 23 views
1

Я ищу список файлов, которые были совместно со мной на OneDrive для бизнеса с Python OneDrive SDK (onedrive-питон-SDk)общего список файлов OneDrive для бизнеса

Я успешно аутентифицированным и был в состоянии список файлов я использую следующий код

import onedrivesdk 
from onedrivesdk.helpers import GetAuthCodeServer 
from onedrivesdk.helpers.resource_discovery import ResourceDiscoveryRequest 

redirect_uri = 'http://localhost:8080' 
client_id = your_client_id 
client_secret = your_client_secret 
discovery_uri = 'https://api.office.com/discovery/' 
auth_server_url='https://login.microsoftonline.com/common/oauth2/authorize' 
auth_token_url='https://login.microsoftonline.com/common/oauth2/token' 

http = onedrivesdk.HttpProvider() 
auth = onedrivesdk.AuthProvider(http, 
           client_id, 
           auth_server_url=auth_server_url, 
           auth_token_url=auth_token_url) 
auth_url = auth.get_auth_url(redirect_uri) 
code = GetAuthCodeServer.get_auth_code(auth_url, redirect_uri) 
auth.authenticate(code, redirect_uri, client_secret, resource=discovery_uri) 
# If you have access to more than one service, you'll need to decide 
# which ServiceInfo to use instead of just using the first one, as below. 
service_info = ResourceDiscoveryRequest().get_service_info(auth.access_token)[0] 
auth.redeem_refresh_token(service_info.service_resource_id) 
client = onedrivesdk.OneDriveClient(service_info.service_resource_id + '/_api/v2.0/', auth, http) 

#get the top three elements of root, leaving the next page for more elements 
collection = client.item(drive='me', id='root').children.request(top=3).get() 
# print files 
print collection 

Однако я не знаю, как просить файлов, которые были совместно со мной, я видел ссылки в OneDrive API использовать следующий запрос , но я не уверен, как позвонить

GET /drive/view.sharedWithMe 

Любая помощь будет оценена

ответ

0

Я префикс этот ответ с оговоркой, что у меня нет среды, созданной для проверки этого питона решение, но я считаю, что это должно работать (или в худшем случае дать вам идею решить его).

Вы правы в том, что текущий SDK не показывает view.sharedWithMe, однако он, к счастью, содержит инструменты, необходимые для этого. Вы хотите использовать функцию append_to_request_url в сочетании с ItemsCollectionRequestBuilder как так:

collection = ItemsCollectionRequestBuilder(client.drive.append_to_request_url("view.sharedWithMe"), client).request(top=3).get() 

Надеюсь, это даст вам результаты, которые вы после этого.

+0

Благодарим за быстрый ответ, это сработало безупречное удовольствие! – user29184827194701

+0

@ user29184827194701 Где вы можете скачать файл позже? – Sid29

 Смежные вопросы

  • Нет связанных вопросов^_^