google web サービスでアクセストークンの取得その2

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からアクセスしなおす

これで、ブラウザで
アクセストークンが表示されていれば成功

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です