我想建立一个小型js库,该库可以从我的帐户读取特定的相册并以幻灯片形式显示其中的照片。
在本指南(https://developers.google.com/photos/library/guides/get-started)中,要访问API,我们需要ClientID和Secret。是否可以使用某种类型的公钥进行只读访问来访问API?这样,我(照片提供者)不必每次都登录?
答案 0 :(得分:0)
通过OAuth2用户身份验证使用Google Photos Library API。通过API的所有请求均代表用户发出。不支持公共API密钥或服务帐户。
OAuth令牌在一定时间后到期,这是OAuth身份验证请求的一部分返回。一旦新的访问令牌过期,您可以使用刷新令牌来检索。如果您要在没有显式交互式用户交互的情况下执行此操作,则需要授权您的应用程序以进行脱机访问。好消息是身份验证客户端库可以为您处理此问题。
如果您正在使用Google登录(例如在Android上),则可以检查用户是否已经使用GoogleSignIn.getLastSignedInAccount(this)
登录,因此您无需再次提示访问权限。如果您要从后端发出这些脱机请求,也可以enable server-side access。
如果您使用任何Google OAuth client libraries,则可以在初始登录请求中指定'offline'参数。例如,在Java中,您将在创建过程中在.setAccessType("offline")
上设置访问类型:GoogleAuthorizationCodeFlow.Builder
。