in genai-for-marketing/installation_scripts/Create_GDrive_folder.py [0:0]
def share_file(real_folder_id, real_user):
creds, _ = google.auth.default()
try:
# create drive api client
service = build("drive", "v3", credentials=creds)
ids = []
folder_id = real_folder_id
def callback(request_id, response, exception):
if exception:
# Handle error
print(exception)
else:
print(f"Request_Id: {request_id}")
print(f'Permission Id: {response.get("id")}')
ids.append(response.get("id"))
# pylint: disable=maybe-no-member
batch = service.new_batch_http_request(callback=callback)
user_permission = {
"type": "user",
"role": "writer",
"emailAddress": real_user,
}
batch.add(
service.permissions().create(
fileId=folder_id,
body=user_permission,
fields="id",
)
)
batch.execute()
except HttpError as error:
print(f"An error occurred: {error}")
ids = None
return ids