상자의 API v2에 연결하려고 시도하면서 새로운 점이 있습니다. 필자는 PHP 클라이언트 라이브러리를 성공적으로 설정했습니다.이 라이브러리는 developers.box.com/auth의 첫 번째 단락에있는 링크 덕분에 발견되었습니다. 나는 Box의 walkthrough를 2 번 이상 읽었으며 그 문제와 관련하여 약 10 만 개의 질문과 대답을 읽었다. 내 문제는 사용자가 Box의 승인 페이지로 리디렉션하고 자격 증명을 입력 한 다음 "허용"을 클릭하면 발생합니다. 결과는 내 redirect_uri 및 내 client_id 및 client_secret을 입력 한 로그인 페이지의 URL에 따라 다릅니다. 1) 내 redirect_uri가 https://mysite.com/login_with_box과 일치하면 사용자가 동일한 URL로 리다이렉트하여 분명히 사용자를 다시 전송합니다. Box의 승인 페이지로; 2) redirect_uri가 https://mysite.com/login_with_box 페이지와 다른 경우 사용자는 30 초 코드가 포함 된 URL 인 redirect_uri로 정상적으로 돌아갑니다. 나는 이것을 알아내는 것에 가깝지만 30 초 이내에 코드를 토큰으로 변환하고 사용자의 폴더, 파일, 정보 또는 그 밖의 것을 표시하는 방법을 알지 못합니다. 많은 관심을 가져 주셔서 감사합니다. 내가 어디에 서 여기 : 처음에 OAuth는 과정을 통해 사용자에게 전송하는 URL에서 다른 무언가로 당신의 리디렉션 URL이 필요한 것처럼사용자가 액세스를 허용 한 후 상자의 '코드'를 '토큰'으로 변환하는 방법
// 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);
}
// ...
안녕하세요,이 방법으로 파일을 추가하고 제거하는 방법에 대해 궁금한 점이 있으십니까?이 방법을 사용하여 연결을 얻을 수 있었지만 그곳에서 어디로 가야할지 확실하지 않습니다. \ –
안녕하세요 A_Wheel_Monkey, 액세스 토큰을 얻은 후에는 PHP OAuth 라이브러리를 포함하여 다른 곳에서 API를 호출 할 수 있습니다. 예를 들어 위의 코드는 my redirect uri, mysite.com/oauth/login_with_box.php를 강화합니다. 나에게 Box에 액세스 할 수있는 권한을 부여한 사용자는 mysite.com/oauth/login_with_box.php로 돌아가서 "성공!" 메시지 및 mysite.com/oauth/files.php에 대한 링크. Files.php에는 라이브러리가 포함되어 있지만 액세스 토큰에 대한 API를 호출하는 대신 api.box.com/2.0/files/content와 같은 다른 요청에 대한 요청이 이루어집니다. – mcormc
나는이 시점에서 액세스 토큰을 수집하지 않는다는 것을 깨달았는데 액세스 토큰에 대한 API 요청을 보내야했지만, 새로 고침 토큰을 사용하기 위해 oauth 클래스를 편집하는 과정에 있습니다. 새로운 액세스 토큰을 얻으려면 (어떤 핸들을하지 않습니다) 나는 거의 내가 거기에있어 내가 공유 할 것입니다 (oauth 클래스가 큽니다 그래서 내가 할 수있는 최선을 참조하려고합니다) –