JsonSlurperを使ってFacebook APIを呼び出す

2019-03-05Facebook, Groovy

restfb( RestFB )を使ってのFacebook API呼び出しをいろいろ調べたが、先日Groovyの合宿Twitterにリモート接続しているときにJsonSluperなるものの存在を知って、これを利用したほうが簡単なんじゃないかと思ったので試してみた。

フレンド名一覧を取得してみる。

#!/usr/bin/env groovy
def accessToken = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
def baseurl = "https://graph.facebook.com"
def slurper = new JsonSlurper()
def result = slurper.parseText(
        new URL(baseurl + "/me/friends?" +
                [
                        "access_token": accessToken,
                ].collect { it.key + "=" + it.value }.join("&")).text
)
result.data.each {
    println "${it.name} (id:${it.id})"
}

毎度のことながら、accessToken変数部分にはfacebookから取得した自分の正しいアクセストークン値を設定。

結果は以下のとおり。(取得された名前のアルファベットやidはマスキングしています)

Aaaaaaaaa Aaaaaa (id:999999999)
Aaaaaaaa Aaa (id:999999999)
Aaaaaaaa Aaaaaaaaa (id:9999999999)
Aaaaa Aaaa (id:9999999999)
Aaaaaa Aaaaaa (id:9999999999)
Aaaa Aaaaaa (id:999999999999999)
Aaaaaa Aaaaaaa (id:999999999999999)
Aaaaaa Aaaaaa (id:999999999999999)
Aaaaaaaa Aaaaaaa (id:999999999999999)
Aaaaaaaa Aaa (id:999999999999999)
Aaaaaaaaa Aaaaaa (id:999999999999999)
Aaaaaaaa Aaaaaa (id:999999999999999)
Aaa Aaaaaa (id:999999999999999)
Aaaaa Aaaa (id:999999999999999)
Aaaa Aa (id:999999999999999)
Aaaaaa Aaaaaa (id:999999999999999)
Aaaaaa Aaaaaa (id:999999999999999)
Aaaaaa Aaaaaa (id:999999999999999)
Aaaaaa Aaaa (id:999999999999999)
Aaa-aaaa Aaaaaaaa (id:999999999999999)
Aaaaaa  Aaaaaaaa (id:999999999999999)
Aaaaa Aaaa (id:999999999999999)
Aaaaaa  Aaaaaaaa (id:999999999999999)
Aaaaa Aaaaaaa (id:999999999999999)
Aaaaaaa Aaaaaaaa (id:999999999999999)
Aaaa  Aaaaaa (id:999999999999999)

なんかJsonSlurper使った方が簡単な気がした。

2019-03-05Facebook, Groovy