これは、Google ドライブ アカウントのルートからファイルとフォルダーのリストを取得する方法です。
role
違いを観察するためにandscope
属性も出力しました。
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
フィード エントリをループしてすべての「共有」エントリを取得することはできますが、そうしないほうがよいと思います。クエリ内でそのフィルタリングを行う方が効率的です。
私は何日もこれにこだわっています。これの正しいパラメータは何ですか?