user1872879
user1872879

Reputation: 225

Google Drive Service Account - view files from another account

I have successfully created a Google Drive Service Account and can create files via PHP to this account. However I need to be able to view these created files from the Google web UI from other user accounts. How do I allow other users access to these auto created files?

Thanks

Upvotes: 19

Views: 17053

Answers (3)

Jon Hannah
Jon Hannah

Reputation: 607

Jay is spot on. Check out API v3 permission guide and reference. My other advice would be to first create a folder and set its permissions which are then inherited by any child files, e.g. in Python (sorry, don't know PHP!):

    # Folder setup
    folder_metadata = {
        'name': 'Searchable folder name',
        'mimeType': 'application/vnd.google-apps.folder'
    }
    folder = drive_service.files().create(
        body=folder_metadata,
    ).execute()

    domain_permission = {
        'type': 'domain',
        'role': 'reader',
        'domain': 'example.com',
        'allowFileDiscovery': True,  # so they show up in user searches
    }
    drive_service.permissions().create(
        fileId=folder['id'],
        body=domain_permission,
    ).execute()

    # New files
    body = {
        'name': 'Searchable filename',
        'parents': [folder['id']],
    }
    drive_service.files().create(
        media_body=...,
        body=body,
    ).execute()

Upvotes: 1

Greg M. Krsak
Greg M. Krsak

Reputation: 2132

One option is to Perform Google Apps Domain-Wide Delegation of Authority: https://developers.google.com/drive/web/delegation

Upvotes: 1

Jay Lee
Jay Lee

Reputation: 13528

You just need to share the file with the desired users with:

https://developers.google.com/drive/v2/reference/permissions/insert

Upvotes: 11

Related Questions