0

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);    

同じ問題に遭遇した人に役立つことを願っています;)

4

1 に答える 1

2

この質問が自動メールで未回答として表示され続けないように、更新からの回答をここに追加します-それがうまくいくことを願っています!

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);

あなた自身の質問に答えて簡単にしてくれてありがとう!;)

于 2013-10-22T16:30:10.020 に答える