2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Facebook Graph APIでフィールドのエイリアスが作成できるらしい

Posted at

これはなに?

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()を使うと良さそうですね。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?