2017-02-22 70 views
1

我期待列出已与我共享OneDrive业务使用Python SDK OneDrive(onedrive的Python-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