about 2 years ago

上禮拜辦了一個活動,完全用 facebook 的活動 (event)功能邀請賓客;活動前一天我想要印出賓客清單,才發現 facebook 居然沒有把賓客名單匯出成 .csv 的功能..... 我記得以前有啊?

這種時候就只好動用 facebook 強大的 opengraph API了。opengraph 的 EDGE 除了可以是一個人,一個fan page之外,也可以是一個活動。

取得 event 相關資訊前,要在申請 access token 前額外要求要 event 的權限:

話不多說,來看 code:

list_attendees.rb
# encoding=utf-8 

require 'open-uri'
require 'json'

event_id = '1609895432567499'
token = STDIN.read

url = 'https://graph.facebook.com/v2.3/' \
+ event_id + '/attending/?limit=250'
url = url + '&access_token=' + token

json = open(url)
data_hash = JSON.parse(json.read)

data_hash["data"].each do |datum|
    puts datum["name"]
end

執行

ruby list_attendees.rb < token > guests.csv

即可

其中 < token 是利用 standard input 將我放在另一個檔案的 token 吃進來; > guests.csv 就是把列印出來的內容存到csv檔裡面。

同場加映

← 第一次去AIT面試F1簽證就上手(2015年版) 今晚誰作東?印出 facebook 社團成員並亂數編號 →
 
comments powered by Disqus