Amazon web services AWS谷歌api认证

Amazon web services AWS谷歌api认证,amazon-web-services,google-api,google-oauth,Amazon Web Services,Google Api,Google Oauth,我有一个python脚本,每天运行一次,删除g-drive中特定文件夹中的所有文件。 我已经在我的本地机器上测试过了,它要求我使用我的gmail帐户登录。我这样做了,并创建了一个凭据文件,这样我就不必每次运行脚本时都登录 我现在尝试在AWS中创建一个lambda函数,并每天触发一次。我已经创建了部署包,上传了它,它似乎正在运行,但它一直试图打开浏览器再次登录到g-drive。以下是我在日志中发现的内容: Your browser has been opened to visit: https:/

我有一个python脚本,每天运行一次,删除g-drive中特定文件夹中的所有文件。 我已经在我的本地机器上测试过了,它要求我使用我的gmail帐户登录。我这样做了,并创建了一个凭据文件,这样我就不必每次运行脚本时都登录

我现在尝试在AWS中创建一个lambda函数,并每天触发一次。我已经创建了部署包,上传了它,它似乎正在运行,但它一直试图打开浏览器再次登录到g-drive。以下是我在日志中发现的内容:

Your browser has been opened to visit:
https://accounts.google.com/o/oauth2/auth?client_id=removed from this example
If your browser is on a different machine then exit and re-run this
application with the command-line parameter
--noauth_local_webserver
代码如下:

from __future__ import print_function
from apiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools

SCOPES = 'https://www.googleapis.com/auth/drive'
store = file.Storage('credentials.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('client_secret.json', SCOPES)
    creds = tools.run_flow(flow, store)
service = build('drive', 'v3', http=creds.authorize(Http()))

def list_folders(drive_id):
    body = {'teamDriveId': drive_id}
    parent = "parent_id"
    drives = service.files().list(corpora="teamDrive", teamDriveId=drive_id, includeTeamDriveItems=True, supportsTeamDrives=True, fields='files').execute().get('files')
    for drive in drives:
        if parent in drive['parents']:
            service.files().delete(fileId=drive['id'], supportsTeamDrives=True).execute()
    print("Deleted all files!")

def lambda_handler(event, context):
    list_folders("0k9PVA")(not real id)
    return 'Hello from Lambda'

我将本地机器上生成的client_secret.json和credentials.json都上传到AWS lambda函数,并认为它可以工作,因为creds已经存在,并且在我的机器上运行良好。我怎样才能让它工作

好吧,我知道怎么回事了。对credentials.json文件的权限不足,无法读取。在压缩文件并将其上载到Lambda之前,我必须更改权限。这解决了问题。

您必须授予哪些权限?我也有这个问题。@LewisLebentz更改对文件credentials.json的权限。我想我用的是775。您好,您是指unix权限还是AWS IAM权限?