我正在尝试通过Web应用程序方法和服务帐户方法进行Google API授权。对于Web应用程序方法,其网站上的快速入门代码工作正常。但是,当我尝试使用服务帐户客户端ID(与快速启动示例相同的代码,只是替换客户端ID)相同的代码时,它给了我Invalid_client没有注册的原始错误。
我在这个post和其他SO问题中看到,他们大多忘记了授权Javascript Origin。但是,这与服务帐户方法不同,它们没有此字段。
有人遇到同样的问题吗?
错误讯息:没有注册来源
请求详细信息proxy = oauth2relay1086088613
immediate = false
范围= https://www.googleapis.com/auth/analytics.readonly
origin = https://localhost:9443
response_type = token
redirect_uri = postmessage
州= 909080772 | 0.2369183797
client_id = 113356969233986791514
include_granted_scopes = true
答案 0 :(得分:0)
服务帐户通常用于服务器到服务器的通信。您可以将服务帐户视为具有访问API权限的机械手用户。除非您正在进行域范围的委派(服务帐户可以代表域中的所有用户执行操作),否则您可能只想使用OAuth。也许试试the credentials wizard,看看它推荐什么?
如果您最终想要使用服务帐户,则需要下载服务帐户的私钥并使用该密钥签署请求(而不是仅包含OAuth客户端ID)。为此,我建议使用其中一个Google API Client Libraries。