google web サービスでアクセストークンの取得その2
#11 アクセストークンを取得しよう (2)
http://dotinstall.com/lessons/google_connect_php_v2/9911
を参考に
アクセストークン取得を実装
前回、パラメータを設定したので
curl を使うところから開始
curl_setopt($curl, CURLOPT_URL,$url);
これは決まり文句らしいけど
意味を検索
http://php.net/manual/ja/function.curl-setopt.php
に
curl_setopt() のリファレンスがあるので、これを参照
curl_setopt() は
curl 転送用オプションを指定する関数
引数の解説をメモすると
$curl
は、curl_init() がかえす curl ハンドル
CURLOPT_URL
は、取得するURLとなる
ttp
このほかにもいくつかオプションを設定する
curl_setopt($curl, CURLOPT_POST,1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
これらのオプションの解説メモ
curl_setopt($curl, CURLOPT_POST,1); CURLOPT_POST
は、POSTを行う
POST は、
application/x-www-form-urlencoded 形式
なので、一般的なHTMLフォームとおなじ
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params)); CURLOPT_POSTFIELDS
は、POSTで送信するすべてのデータを指定する
http_build_query()
は、URLエンコードされたクエリ文字列を作成する関数
web api でよくある & で結合したURLをつくる
関数については
http://php.net/manual/ja/function.http-build-query.php
のリファレンスを参照
http_build_query($params)
なので $params で client_id などを設定したので
これらをパラメータとして
リクエストURLが作成される
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); CURLOPT_RETURNTRANSFER
は
true を設定すると
curl_exec() の返り値を文字列でかえす
通常だとデータを直接出力する
これらのオプション設定ができたら
$rs = curl_exec($curl);
で実行する
curl_exec() については
http://php.のnet/manual/ja/function.curl-exec.php
のリファレンスを参照
この関数は、指定した curl セッションを実行する
curl の実行が終わったら
curl_close($curl);
で閉じるのを忘れずに
curl_close() は
curl セッションを閉じる
http://php.net/manual/ja/function.curl-close.php
のリファレンスも参考にする
返ってきた値の $rs は
JSON形式なので
$json = json_decode($rs);
でJSON文字をデコードして
PHPの変数に変換する
json_decode() は
http://php.net/manual/ja/function.json-decode.php
のリファレンスを参考にするとわかりやすい
この
$json
には、アクセストークンが入っているので
それを確認するため、一度
var_dump() を使って
画面に表示する
var_dump($json); exit;
そのまま再度ブラウザをリロードしても
セッション関連でエラーになる ため
一度 index.phpからアクセスしなおす
これで、ブラウザで
アクセストークンが表示されていれば成功