18

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

user1872879
  • 215
  • 1
  • 2
  • 7

3 Answers3

11

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

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

Jay Lee
  • 13,415
  • 3
  • 28
  • 59
1

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

Greg M. Krsak
  • 2,102
  • 1
  • 18
  • 28
1

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()
gabriel garcia
  • 368
  • 3
  • 17
Jon Hannah
  • 557
  • 5
  • 5