При интеграции с mailchimp я выполняю аутентификацию после получения access_token, а затем отправляю запрос на получение метаданных и сталкивается с проблемой.
После синхронизации имени пользователя и пароля я получаю access_token и получаю сообщение об ошибкеэтот код:
var AccessToken = '<?php //echo $_GET['access_token']; ?>'
jQuery.ajax( {
url: "https://login.mailchimp.com/oauth2/metadata",
type: 'GET',
beforeSend : function( xhr ) {
xhr.setRequestHeader( 'Authorization', 'OAuth ' +
AccessToken );
},
success: function( response ) {
console.log(response);
},
error : function(error) {
console.log(error);
}
} );
Я также пытался из curl как:
public function list()
{
$url = 'https://login.mailchimp.com/oauth2/token';
$data = [
'grant_type' => 'authorization_code',
'client_id' => 345555555555555555555555,
'client_secret' => '4b0xxxxxxxxxxxxxxxxxxxxx5406a7d',
'redirect_uri' => 'http://127.0.0.1:8000/success',
'code' => $_GET['code']
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec ($ch);
$err = curl_error($ch); //if you need
curl_close ($ch);
return $response;
}
Access to XMLHttpRequest at 'https://login.mailchimp.com/oauth2/metadata' from origin 'http://127.0.0.1:8000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Cross-Origin Read Blocking (CORB) blocked cross-origin response https://login.mailchimp.com/oauth2/metadata with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.
send @ jquery.min.js:2
ajax @ jquery.min.js:2
(anonymous) @ list:74