Google Drive Service Account - view files from another account

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


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

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


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()