Передача массивов google api

213
31 декабря 2018, 09:10
<?php
$client_id = '--'; // Client ID
$client_secret = '--'; // Client secret
$redirect_uri = 'https://www.wbrea.com/google-auth'; // Redirect URIs
$url = 'https://accounts.google.com/o/oauth2/auth';
$params = array(
    'redirect_uri'  => $redirect_uri,
    'response_type' => 'code',
    'client_id'     => $client_id,
    'scope'         => 'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile'
);
echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через Google</a></p>';
if (isset($_GET['code'])) {
    $result = false;
    $params = array(
        'client_id'     => $client_id,
        'client_secret' => $client_secret,
        'redirect_uri'  => $redirect_uri,
        'grant_type'    => 'authorization_code',
        'code'          => $_GET['code']
    );
    $url = 'https://accounts.google.com/o/oauth2/token';
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, urldecode(http_build_query($params)));
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    $result = curl_exec($curl);
    curl_close($curl);
    $tokenInfo = json_decode($result, true);
    if (isset($tokenInfo['access_token'])) {
        $params['access_token'] = $tokenInfo['access_token'];
        $userInfo = json_decode(file_get_contents('https://www.googleapis.com/oauth2/v1/userinfo' . '?' . urldecode(http_build_query($params))), true);
        if (isset($userInfo['id'])) {
            $userInfo = $userInfo;
            $result = true;
        }
    }

}
?>

Мне нужно чтобы при клику на кнопку отправляло запрос на

https://localhost/wp-admin/admin-ajax.php?action=ihf_lead_capture_login вот такие параметры нужно передать чтобы сделать авторизацию firstName = newEmail = lastName = Делаю авторизацию через гугл, и не могу составить адекватно функцию.

READ ALSO
Как настроить фильтрацию include в pug для gulp

Как настроить фильтрацию include в pug для gulp

Имеется таска для gulp,в которой при одном режиме работы происходит преобразование pug файлов html, а при другом - в phpПроблема в том, что для php файлов...

162
Как сделать единый шаблон для страниц?

Как сделать единый шаблон для страниц?

Делаю небольшой сайт состоящий не более чем из 10 страничек на html+css+js+jquery, других технологий пока что не знаюВстал вопрос, если допустим я сделал...

228
Как хранить котировки валют

Как хранить котировки валют

Написал скрипт который парсит котировки валют со многих бирж, потом данные все нужно анализировать и выдавать некие результатыДанный скрипт...

133
не отрабатывает php (ubuntu) через браузер

не отрабатывает php (ubuntu) через браузер

Помогите настроить ubuntu php

183