通过Google Apps登录

时间:2010-03-28 07:29:40

标签: php openid oauth google-apps

如何通过我们的Google Apps帐户验证我的用户身份。 我还需要访问他们的电子邮件。

我读过需要Oauth,但我不知道这是否正确。

我正在使用PHP。

1 个答案:

答案 0 :(得分:0)

我在我编写的库中使用此代码从gmail中提取联系人信息。 http://www.oriontechnologysolutions.com/programming/libgoog_php。 此特定功能将验证帐户并传回用于访问Google服务的验证令牌。

    function login() {
        $response = Array();
        if(isset($this->domain))
            $email = $this->username . '@' . $this->domain;
        else
            $email = $this->username;
        $requestString = "service=".$this->service."&Email=".urlencode($email)."&Passwd=".urlencode($this->passwd)."&source=".self::source;

        $c = curl_init();
        curl_setopt($c, CURLOPT_URL, self::loginUrl);
        curl_setopt($c, CURLOPT_POST,   1);
        curl_setopt($c, CURLOPT_POSTFIELDS, $requestString);
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);

        $res = curl_exec($c);
        $httpCode = curl_getinfo($c, CURLINFO_HTTP_CODE);
        foreach(explode("\n", $res) as $line) {
            if(strpos($line, "=") != false) {
                gooDebug("Exploding $line\n", 4);
                list($name, $value) = explode("=", $line);
                $response[$name] = $value;
            }
        }
        if($httpCode !=200)
            return($response);

        $this->authTok = $response['Auth'];
        return($this->authTok);
    }