{"错误" :" invalid_grant" }使用Google Directory API PHP客户端SDK时出错

时间:2015-03-21 20:38:14

标签: php google-api-php-client google-directory-api

所以我已经整天都在尝试,而我似乎无法正确地对google API进行身份验证。这就是我到目前为止建立连接所做的事情:

  1. 我首先为我的应用程序创建了一个服务帐户
  2. 然后,我在Google Apps域管理页面的第三方客户端访问设置中添加了该服务帐户。我添加了用户和组的范围
  3. 我为网络应用程序生成了新的客户端ID
  4. 我下载了.p12文件,我的网络客户端ID的秘密JSON文件并在本地存储
  5. 所以我认为这就是我需要成功验证的所有内容..然后我使用以下代码来设置所有内容:

    $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 个答案:

答案 0 :(得分:0)

糟糕。我当时很傻。我不小心使用了Web客户端的电子邮件而不是服务帐户电子邮件。 :')代码的其余部分似乎应该正常运行。