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