私はこれが初めてで、Box の API v2 を接続しようとしています。developers.box.com/auth の最初の段落にあるリンクのおかげで、PHP クライアント ライブラリを正常にセットアップできました。私は Box のウォークスルーを 2 回以上読み、この問題に関して約 100,000 件の質問と回答がここに寄せられました。ユーザーが Box の認証ページにリダイレクトし、資格情報を入力して [許可] をクリックすると、問題が発生します。結果は、 redirect_uriと、client_id と client_secret を配置したログイン ページの URL によって異なります。、ユーザーを Box の認証ページに送り返します。2) 私の redirect_uri がhttps://mysiteと異なる場合。ページ、その後、ユーザーは正常にリダイレクト uri に戻ります。その URL には 30 秒のコードが含まれています。私はこれを理解しようとしていますが、コードを 30 秒以内にトークンに変換し、それを使用してユーザーのフォルダー、ファイル、情報などを表示する方法がわかりません。ご検討いただきありがとうございます。ここに私の立場があります:
// mysite.com/client.php:
// ...
case 'Box':
$this->oauth_version = '2.0';
$this->request_token_url = '';
$this->dialog_url = 'https://api.box.com/oauth2/authorize?client_id={CLIENT_ID}&response_type=code&redirect_uri={REDIRECT_URI}&state={STATE}';
$this->append_state_to_redirect_uri = '';
$this->access_token_url = 'https://api.box.com/oauth2/token';
$this->authorization_header = true;
$this->url_parameters = false;
break;
// ...
// mysite.com/login_with_box.php:
// ...
$client->client_id = '[my_client_id]';
$client->client_secret = '[my_client_secret]';
if(($success = $client->Initialize())) {
if(($success = $client->Process())) {
if(strlen($client->access_token)) {
$success = $client->CallAPI(
'https://api.box.com/2.0/users/me',
'GET', array(), array('FailOnAccessError'=>true), $user);
}
}
$success = $client->Finalize($success);
}
// ...