适用于 .NET 的 Google API 客户端库使用
client_secrets.json 文件,用于存储
client_id、client_secret 和其他 OAuth 2.0 参数。
client_secrets.json
文件是 JSON 格式的文件
包含客户端 ID、客户端密钥和其他 OAuth 2.0 参数。
以下是 Web 应用的 client_secrets.json 文件示例:
{
"web": {
"client_id": "asdfjasdljfasdkjf",
"client_secret": "1912308409123890",
"redirect_uris": ["https://www.example.com/oauth2callback"],
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token"
}
}
以下是已安装应用的 client_secrets.json 文件示例:
{
"installed": {
"client_id": "837647042410-75ifg...usercontent.com",
"client_secret":"asdlkfjaskd",
"redirect_uris": ["http://localhost"],
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token"
}
}此格式可定义以下两种客户端 ID 类型之一:
web:Web 应用。installed:已安装的应用。
web 和 installed 子对象
以下强制性成员:
-
client_id(字符串):客户端 ID。 -
client_secret(字符串):客户端密钥。
此文件的所有其他成员均为可选, 但.NET 客户端库并不会使用它们
设计初衷
一直以来,OAuth 2.0 端点的提供商都希望
使用其服务复制并粘贴客户端 ID 的用户
和客户端密钥复制到工作代码中。
这种方法容易出错,生成的图像不完整
获得 OAuth 2.0 正常运行所需的信息。
(OAuth 2.0 还要求知道所有端点,
以及配置重定向 URI 时)。
如果服务提供商提供可下载的 client_secrets.json
而客户端库可以使用这些文件
那么实施 OAuth 2.0 会更容易,也更不容易出错