DropboxのAPIを使う機会がありまして、curl コマンドなら、以下のように書けるものをPHPでどうやって書くかではまってしまったので(ネット上にもあまり情報が無い)、記事にしました。
1 |
https://api.dropbox.com/oauth2/token -d grant_type=refresh_token -d refresh_token=xxx -u yyy:zzz |
以下が、PHPで書いた関数です
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
function getToken(){ $ch = "https://api.dropbox.com/oauth2/token"; $parameters = array( "grant_type" => "refresh_token", "refresh_token" => "xxx", ); $curl=curl_init(); curl_setopt($curl, CURLOPT_URL, $ch); curl_setopt($curl, CURLOPT_USERPWD, 'yyy:zzz'); curl_setopt($curl, CURLOPT_POST, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($parameters)); curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookie'); curl_setopt($curl, CURLOPT_COOKIEFILE, 'tmp'); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE); $response= curl_exec($curl); $resp = json_decode($response, true); curl_close($curl); return $resp['access_token']; } |