Linkedin および Meetup API では実際に完全に動作する私のコードは、Eventbrite API では動作せず、その理由がまったくわかりません。
$params = array(
'grant_type' => 'authorization_code',
'client_id' => EVENTBRITE_CONSUMER_KEY,
'client_secret' => EVENTBRITE_CONSUMER_SECRET,
);
// Eventbrite API access token request
$url = 'https://www.eventbrite.com/oauth/token?' . http_build_query($params);
// Tell streams to make a POST request
$context = stream_context_create(array('http' => array('method' => 'POST')));
// Retrieve access token information
$response = file_get_contents($url, false, $context);
認証コードを取得するための API ログイン部分は、完全に機能しているようです。
PHPエラーは次のとおりです。
警告: file_get_contents( https://www.eventbrite.com/oauth/token?grant_type=authorization_code&client_id=ZZ6PPQOMTKSXIHEKLR&client_secret=QQDDIS4RBZXI6ONO7QEYEUZ4JB2ABQQG6K3H7CBD6M5QWK5GSK&code=O63YZASRAYMOUHRMH5AH ): ストリームを開くことができませんでした: HTTP 要求が失敗しました! /var/www/include/actions.php の 102 行目の HTTP/1.1 400 BAD REQUEST
誰かが手がかりを持っている場合は、事前に感謝します:)
アップデート :
私はついに問題がどこにあるのかを見つけました(理由がわからなくても):
file_get_contents は、oauth ページにアクセスするための適切な方法ではないようです。代わりに curl を使用しました。
$request_url = 'https://www.eventbrite.com/oauth/token';
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
curl_close($ch);
同じ問題に遭遇した人に役立つことを願っています;)