MailChimp API 使用 OAuth 2 令牌调用

MailChimp API call with OAuth 2 token

我无法使用 OAuth 2 令牌调用 Mailchimps API 3.0 端点,例如 /lists

我已经拥有令牌并拥有来自 /metadata 调用的端点,但是,当我尝试使用以下

访问 /lists
//Get lists
$client = new \GuzzleHttp\Client(['base_uri' => $datacenter]);
$headers = [
        'Authorization' => 'OAuth ' . $token,
        'Accept' => 'application/json',
        'Host' => $client_endpoint,
        'User-Agent' => 'oauth2-draft-v10'
    ];
$response = $client->request('GET', 'lists', [
        'headers' => $headers
    ]);
$lists = json_decode($response->getBody());

当然有一个简单的解决方案,我是 OAuth 2 和 MailChimp 的新手,正在努力寻找有关使用 OAuth2 令牌调用 MailChimp 的任何信息。

我也试过下面的...

//Get list data
$client = new \GuzzleHttp\Client(['base_uri' => $client_endpoint]);
$headers = [
        'Authorization' => 'OAuth ' . $token
    ];

$response = $client->request('GET', 'lists',[
        'user' => 'anystring:' . $token,
        'headers' => $headers
    ]);
Log::debug($response);

这里的任何帮助都将非常有用

似乎以 Authorization: OAuth [token] 格式在 headers 中提供令牌没有按预期工作。

我使用 PostMan 完成了以下请求,提供代码以便于使用:

// GET https://us1.api.mailchimp.com/3.0/lists
// authorization:"Bearer 0319[redacted]f966" 

$response = $client->get( $datacenter.'/3.0/lists', [
    'headers' => ['Authorization' => 'Bearer ' . $token]
]);
$lists = json_decode($response->getBody());

注:代码未测试,请求已测试