Google Access API с помощью PHP Curl - PullRequest
       16

Google Access API с помощью PHP Curl

0 голосов
/ 23 ноября 2011

Я пытаюсь получить электронную почту моего пользователя с помощью google api & curl, и я застрял на обмене токена доступа. Я получаю ключ без проблем, но когда дело доходит до токена, Google просто возвращает JSON

{"error" : "invalid_request"}

ниже приведен фрагмент кода, который выкупает код для токена (по крайней мере, так и должно быть)

$code = urlencode($_GET["code"]);
$secret = "MYSECRET";
$client_id = "MYCLIENTID";
$redirect_uri = urlencode("http://www.mysupersite.com/callback.html");
$grant_type = "authorization_code";

$url = "https://accounts.google.com/o/oauth2/token";

$headers = array("Content-type: application/x-www-form-urlencoded");

$post = "code=".$code."&client_id=".$client_id."&secret=".$secret."&redirect_uri=".$redirect_uri."&grant_type=".$grant_type;

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post); 
curl_setopt($curl, CURLOPT_VERBOSE, TRUE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$json = curl_exec($curl);
curl_close($curl);

var_dump($json);

Я действительно застрял, и Google API никогда не говорит вам, что именно не так.

UPD Я знаю, что есть библиотека для такого рода вызовов, но я решаю одну простую задачу (в соответствии с документацией Google API) и просто не вижу смысла в том, чтобы загружать другие методы.

1 Ответ

0 голосов
/ 09 декабря 2011

хорошо, мой плохой - $ _GET ["secret"] должен быть $ _GET ["client_secret"]

...