我们需要从旧的配置API迁移到新的Admin SDK。问题是我们无法弄清楚如何让OAuth2与服务帐户一起使用。我们使用以下代码作为示例,但无法确定key.p12文件的创建位置/方式。我创建了一个服务帐户,其中cliendId,电子邮件地址和API密钥与开发人员控制台中的应用程序绑定在我的服务器上。如果有人可以帮我理解如何创建key.p12文件,那么我很确定我可以使用它。
谢谢,
滑雪
// Set your client id, service account name, and the path to your private key.
// For more information about obtaining these keys, visit:
// https://developers.google.com/console/help/#service_accounts
const CLIENT_ID = 'insert_your_client_id';
const SERVICE_ACCOUNT_NAME = 'insert_your_service_account_name';
// Make sure you keep your key.p12 file in a secure location, and isn't
// readable by others.
const KEY_FILE = '/super/secret/path/to/key.p12';
// Load the key in PKCS 12 format (you need to download this from the
// Google API Console when the service account was created.
$client = new Google_Client();
... $ key = file_get_contents(KEY_FILE); $客户端 - > SETCLIENTID(CLIENT_ID); $ client-> setAssertionCredentials(new Google_AssertionCredentials( SERVICE_ACCOUNT_NAME, 阵列( 'https://www.googleapis.com/auth/prediction'), $键) );
答案 0 :(得分:1)
转到https://cloud.google.com/console
选择你的项目
点击'API and Auth'
点击“凭据”
点击“创建新客户ID”
选择“服务帐户”
点击“创建客户ID”
您的私钥将被下载
您的公钥将存储并显示在控制台中
您将无法再次检索私钥。 Google只发送一次。如果丢失,则必须重新执行该过程,并更新应用程序中的相关设置
如果已经回答了这个问题,请将其标记为。
答案 1 :(得分:0)
请参阅google oauth2 how to get private key for service account - 今天实际上已更改了新版Google Cloud Console,但答案是最新的。