代码之家  ›  专栏  ›  技术社区  ›  Gladen

{“error”:“invalid_grant”}Google Directory API PHP客户端SDK错误

  •  0
  • Gladen  · 技术社区  · 9 年前

    所以我已经尝试了一整天,但我似乎无法正确地验证GoogleAPI。这是我迄今为止建立连接所做的:

    1. 我首先为我的应用程序创建了一个服务帐户
    2. 然后,我在我们的GoogleApps域的管理页面上的第三方客户端访问设置中添加了该服务帐户。我添加了用户和组的作用域
    3. 我为web应用程序生成了新的客户端ID
    4. 我下载了.p12文件,这是我的web客户端ID的机密JSON文件,并将其存储在本地

    所以我认为这就是我成功认证所需的一切。。然后,我使用以下代码设置所有内容:

    $this->client = new Google_Client();
    $this->client->setAuthConfigFile(STORAGE_PATH.'client_secrets.json');
    $this->client->addScope(static::$scopes);
    
    $cred = new Google_Auth_AssertionCredentials(
        static::$service_account_email,
        static::$scopes,
        file_get_contents(STORAGE_PATH.'TRICS-key.p12'));
    $cred->sub = static::$delegated_admin;
    
    $this->client->setAssertionCredentials($cred);
    
    $this->directory_service = new Google_Service_Directory($this->client);
    

    有人知道我是否忘记了什么吗?

    1 回复  |  直到 9 年前
        1
  •  0
  •   Gladen    9 年前

    哎呀。我是个傻瓜。我无意中使用了Web客户端的电子邮件,而不是服务帐户电子邮件。:')代码的其余部分似乎正常工作。