これはなに?
FacebookのGraph APIのドキュメントを見ていると、戻ってきたフィールド名にエイリアスが作れるようなので試してみました。
ドキュメントの『フィールドのエイリアスの作成』というところに書いてありました。
サンプルを試してみる
ドキュメントに書いてあるやつをまんま試してみます。
curlではこんな感じです。
$ curl -G \
-d "fields=id,name,picture.width(100).height(100).as(picture_small),picture.width(720).height(720).as(picture_large)" \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/v2.6/me"
Graph APIエクスプローラを使う時は以下のやつをそのまま貼り付けてください。
me?fields=id,name,picture.width(100).height(100).as(picture_small),picture.width(720).height(720).as(picture_large)
取得した内容はこんな感じです。
.as(picture_small)
と.as(picture_large)
が効いてますね。
{
"id": "xxxxxxxx",
"name": "<YOUR_NAME>",
"picture_small": {
"data": {
"height": 100,
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/v/t1.0-1/p100x100/xxxxx_xxxxxxxxxxxxxxx_8327030_n.jpg?oh=06568783b279aaf70a9d93efa2bc5bae&oe=57AD5DAA",
"width": 100
}
},
"picture_large": {
"data": {
"height": 162,
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/v/t1.0-1/xxxxx_xxxxxxxxxxxxxxx_8327030_n.jpg?oh=b30ea2c42561252c9649ec2641664f58&oe=57BA04D6",
"width": 162
}
}
}
.as(picture_large)
を取って実行すると、picture
となっているのを確認できます。
{
"id": "xxxxxxxx",
"name": "<YOUR_NAME>",
"picture_small": {
"data": {
"height": 100,
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/v/t1.0-1/p100x100/xxxxx_xxxxxxxxxxxxxxx_8327030_n.jpg?oh=06568783b279aaf70a9d93efa2bc5bae&oe=57AD5DAA",
"width": 100
}
},
"picture": {
"data": {
"height": 162,
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/v/t1.0-1/xxxxx_xxxxxxxxxxxxxxx_8327030_n.jpg?oh=b30ea2c42561252c9649ec2641664f58&oe=57BA04D6",
"width": 162
}
}
}
試しに、.as('でっかいやつ')
とか日本語を入れてみるとエラーになりました。
{
"error": {
"message": "Syntax error \"'でっかいやつ' is not a valid name\" at character 112: id,name,picture.width(100).height(100).as(picture_small),picture.width(720).height(720).as('でっかいやつ')",
"type": "OAuthException",
"code": 2500,
"fbtrace_id": "DYk86HsTkDT"
}
}
感想
ぱっと使う場所が思い浮かばなかったりするのですが、自分でコントロールしたい場合は.as()
を使うと良さそうですね。