【发布时间】:2012-12-05 15:55:52
【问题描述】:
我是 Google 帐户的“域管理员”,并希望: 获取我域中的所有用户并“为每个”用户授予另一个用户对每个人文件的读取权限。我可以获取每个用户,但现在我不明白如何获取每个用户的文档。
#!/usr/bin/python
import gdata.docs
import gdata.docs.service
from gdata.apps import client
userNameAtGmailCom = 'domainAdmin@someplace.com'
password = 'mypassword'
personToShareWith = "someGuy@gmail.com"
domain = 'someplace.com'
def login(userNameAtGmailCom, password, personToShareWith, domain):
client = gdata.apps.client.AppsClient(domain=domain)
client.ssl = True
client.ClientLogin(email=userNameAtGmailCom, password=password, source='apps')
all_users = client.RetrieveAllUsers()
for user in all_users.entry:
user_name = user.login.user_name
print user_name
password = user.login.password
print password
clientDocs = gdata.docs.service.DocsService()
#password always returns 'none'
#therefore I've commented out the 'bad authentication'
#that would happen if the lines below ran
#clientDocs.ClientLogin(user_name, password)
#documents_feed = clientDocs.GetDocumentListFeed()
#for document_entry in documents_feed.entry:
#print document_entry.title.text
#scope = gdata.docs.Scope(value=personToShareWith, type='user')
#role = gdata.docs.Role(value='reader')
#acl_entry = gdata.docs.DocumentListAclEntry(scope=scope, role=role)
#created_acl_entry = client.Post(acl_entry, document_entry.GetAclLink().href, converter=gdata.docs.DocumentListAclEntryFromString)
login(userNameAtGmailCom, password, personToShareWith, domain)
【问题讨论】:
-
看来您需要已经建立一个 auth_token 并将其存储在您的应用程序中:developers.google.com/gdata/docs/auth/clientlogin
标签: admin google-drive-api service-accounts