这是我从Google云端硬盘帐户的根目录中检索文件和文件夹列表的方法。
我还打印了role
和scope
属性来观察差异。
query = gdata.docs.service.DocumentQuery( categories=['folder|document'], params={'showfolders': 'true'} )
documents_feed = gd_client.Query(query.ToUri())
if documents_feed :
for document_entry in documents_feed.entry:
print document_entry.title.text + ' : ' + document_entry.resourceId.text
print '<br>'
acl_feed = gd_client.GetDocumentListAclFeed(document_entry.GetAclLink().href)
for acl_entry in acl_feed.entry:
print '%s - %s (%s)' % (acl_entry.role.value, acl_entry.scope.value, acl_entry.scope.type)
结果如下:
https://docs.google.com/open?id=0B-TOsiduiDksbkVlWXRtc2lSN00
我认为,标记为“共享”的文件或文件夹会有scope.type = default
并且“网络上的公众”与“有链接的任何人”之间的区别在于scope.value
虽然我可以遍历feed-entries来获取所有'共享',但我认为我宁愿不这样做,并且在查询中进行过滤会更有效。
我已经坚持了好几天。有谁能告诉我这是什么正确的参数?