我已解决此问题:由于某种原因, /oauth/access_token的响应成为有效的JSON。 parse_str函数解析错误的格式。对我来说,在库/ hybridauth /混合/第三方/ Facebook的/ base_facebook.php更改此行解决了这个问题:Hybridauth身份验证失败! Facebook返回了一个无效的用户ID解决方案
请更改此代码
public function setExtendedAccessToken() {
$response_params = array();
parse_str($access_token_response, $response_params);
if (!isset($response_params['access_token'])) {
return false;
}
}
public function getAccessTokenFromCode($code, $redirect_uri = null) {
$response_params = array();
parse_str($access_token_response, $response_params);
if (!isset($response_params['access_token'])) {
return false;
}
}
更改为:
public function setExtendedAccessToken() {
$response_params = json_decode($access_token_response, true);
// Not a valid JSON format
if(!isset($response_params['access_token'])) {
// Try to parse
$response_params = array();
parse_str($access_token_response, $response_params);
if (!isset($response_params['access_token'])) {
return false;
}
}
}
public function getAccessTokenFromCode($code, $redirect_uri = null) {
$response_params = json_decode($access_token_response, true);
// Not a valid JSON format
if(!isset($response_params['access_token'])) {
// Try to parse
$response_params = array();
parse_str($access_token_response, $response_params);
if (!isset($response_params['access_token'])) {
return false;
}
}
}
它[标签:警予]或[标签:yii2]? – SaidbakR
这个代码为Yii 1 –