【发布时间】:2019-10-12 20:01:44
【问题描述】:
与 mailchimp 集成时,我在获得 access_token 后进行身份验证,然后我还发送 get 请求以获取元数据并面临问题。
在同步用户名和密码后,我得到了 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
【问题讨论】:
标签: javascript curl oauth-2.0 mailchimp-api-v3.0