0

Refresh Tokenを使用してBOXアクセストークンを生成したいと考えています。

更新トークンの有効期限が切れる前に定期的に実行したいと考えています。

Web アプリケーションにログインせずに自動化するにはどうすればよいですか。

Web サイトから、トークンを生成できます。しかし、トークンの有効期限が切れないように定期的にトークンを作成するジョブを自動化することを検討しています。何か案は?

4

2 に答える 2

0

アクセス トークン、更新トークン、およびアクセス トークンの生成日を格納するデータベースを作成します。

アプリケーションで作業するときは、データベース内の日付でアクセス トークンの有効期限が切れていないかどうかを確認してください。期限切れの場合は、リフレッシュ トークンを持つアクセス トークンを生成する関数を作成します。cUrl を使用してそのアクセス トークンを生成する V2 の方法は次のとおりです。

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

次のようなjson回答を返します。

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

元のチュートリアルのリンクは次のとおりです: http://developers.box.com/oauth/

cUrl と PHP を使用して新しいアクセス/リフレッシュ トークンを取得する例を次に示します。

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

新しいアクセス トークンを生成したら、それらをデータベースに保存し、さらに比較するためにアクセスを生成した時間を保存します。

于 2013-09-02T14:28:53.443 に答える
0

一度認証して access_token を取得しますが、その後は crontab が 15 分ごとにトークンを更新します。PHP コードは次の場所にあります。

http://liljosh.com/upload-to-box-content-api-without-user-authentication/

于 2015-08-03T13:48:56.893 に答える