Google Login Failed, Не удалось открыть поток запроса Http не удалось и неверный запрос

Как изменить file_get_contents () на функцию curl

Произошла ошибка в этой строке ниже, как.

Неустранимая ошибка: необработанное исключение «Исключение» с сообщением «Обязательный параметр не передан: access_token» в E: \ xampp \ htdocs \ google \ application \ library \ oauth2 \ Token \ Access.php: 44 Трассировка стека: # 0 E: \ xampp \ htdocs \ google \ application \ library \ oauth2 \ Token.php (30): OAuth2_Token_Access -> __ construct (NULL) # 1 E: \ xampp \ htdocs \ google \ application \ library \ oauth2 \ Provider.php (224): OAuth2_Token :: factory (‘access’, NULL) # 2 E: \ xampp \ htdocs \ google \ application \ library \ oauth2 \ Provider \ Google.php (61): OAuth2_Provider-> доступ (‘4 / tJi51U-xhCSYo … ‘, Array) # 3 E: \ xampp \ htdocs \ google \ application \ controllers \ auth_oa2.php (32): OAuth2_Provider_Google-> доступ (‘ 4 / tJi51U-xhCSYo … ‘) # 4 [внутренняя функция]: Auth_oa2 -> сессия (‘Google’) …

    $opts = array(
'http' => array(
'method'  => 'POST',
'header'  => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($params),
)
);

$_default_opts = stream_context_get_params(stream_context_get_default());
$context = stream_context_create(array_merge_recursive($_default_opts['options'], $opts));
$response = file_get_contents($url, false, $context);

$return = json_decode($response, true);

-3

Решение

используя curl,

$opts = array(
'http' => array(
'method'  => 'POST',
'header'  => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($params),
)
);

$_default_opts = stream_context_get_params(stream_context_get_default());
$context = stream_context_create(array_merge_recursive($_default_opts['options'], $opts));

Вместо приведенного выше кода используйте это,

$_default_opts = stream_context_get_params(stream_context_get_default());
$context = array_merge($_default_opts['options'], $params);

$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_FORBID_REUSE, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($context));

$response = curl_exec($curl);
curl_close($curl);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]