2013-09-02 3 views
0

새로 고침 토큰을 사용하여 BOX 액세스 토큰을 생성하려고합니다.BOX Acces Token을 자동화하기 위해보기

새로 고침 토큰이 만료되기 전에 주기적으로 수행하고 싶습니다.

웹 응용 프로그램에 로깅하지 않고 어떻게 자동화 할 수 있습니까?

웹 사이트에서 토큰을 생성 할 수 있습니다. 하지만 토큰이 만료되는 것을 피하기 위해 토큰을 주기적으로 생성하는 작업을 자동화하려고합니다. 어떤 아이디어?

답변

0

액세스 토큰, 새로 고침 토큰 및 생성 된 액세스 토큰의 날짜를 저장하는 데이터베이스를 만듭니다.

응용 프로그램에서 작업 할 때 데이터베이스의 날짜로 액세스 토큰이 만료되었는지 확인하십시오. 만료 된 경우 새로 고침 토큰이있는 액세스 토큰을 생성하는 함수를 만듭니다. 이 같은 JSON 응답 돌아갑니다

curl https://www.box.com/api/oauth2/token \ 
-d 'grant_type=refresh_token&refresh_token={valid refresh token}&client_id={your_client_id}&client_secret={your_client_secret}' \ 
-X POST 

: 여기

{ 
    "access_token": "T9cE5asGnuyYCCqIZFoWjFHvNbvVqHjl", 
    "expires_in": 3600, 
    "restricted_to": [], 
    "token_type": "bearer", 
    "refresh_token": "J7rxTiWOHMoSC1isKZKBZWizoRXjkQzig5C6jFgCVJ9bUnsUfGMinKBDLZWP9BgR" 
} 

을 원래 튜토리얼 링크의 : http://developers.box.com/oauth/

는 여기 여기 토큰 컬를 사용하여 액세스 발생의 V2의 방법이있다

function getAccessTokenByRefresh($refreshToken, $client_id, $client_secret){ 
    $defaultOptions = array(
      CURLOPT_SSL_VERIFYPEER => false, 
      CURLOPT_VERBOSE  => true, 
      CURLOPT_HEADER   => false, 
      CURLINFO_HEADER_OUT => false, 
      CURLOPT_RETURNTRANSFER => true, 
      CURLOPT_FOLLOWLOCATION => false, 
    ); 

    $ch = curl_init('https://www.box.com/api/oauth2/token'); 
    $options = $defaultOptions; 
    $options[CURLOPT_POST] = true; 
    $options[CURLOPT_POSTFIELDS] = array(
      'grant_type'=>'refresh_token', 
      'refresh_token'=>$refreshToken, 
      'client_id'=>$client_id, 
      'client_secret'=>$client_secret 
    ); 
    curl_setopt_array($ch, $options); 
    $response = curl_exec($ch); 
    curl_close($ch); 
    return json_decode($response, true); 
} 
: 새로운 접근을 얻기의 예/컬과 PHP를 사용하여 토큰을 새로 고침

새 액세스 토큰을 생성 한 후 데이터베이스에 저장하고 추가 비교를 위해 액세스를 생성 한 시간을 저장하십시오.

관련 문제