這一篇其實是想要延續昨天寫的
Facebook Graph API 升級到 v2.x 繼續聊。
現在的活動網站的方向,大部份都會跟社群媒體做結合,以 Facebook 的整合為最大宗,其次是 google 跟 twitter, instagram 等等。Facebook 的話,Graph API 多到數不清,想怎麼整就怎麼整,而且效果不差 (尤其是曝光度),問題是:
要~審~核~。
今天要提到的是如何申請取得好友名單的權限,在過去 v1.0 的版本時,可以輕鬆要到好友名單,在 v2.0 時,需要額外申請權限
Taggable Friends,跟 user 取得
Taggable Friends 你可以要到他的好友名單,當然,這個權限可以做的事情很多,確實你可以用它來標記朋友在 custom story 或是上傳圖片時可以 tag 朋友等等。
以下是合理的使用範圍:
* Let people tag their friends in stories published by your app
讓 user 透過你的 app 在發佈 story 時可以 tag 他的朋友。
* Let people mention their friends in stories published by your app
你不能做的事情:
* Use a person's friends for any purpose other than tagging or mentioning
其實這樣寫有點籠統,總之主要你只能用來讓 user 標記他的朋友,其他事你不太能做,反正最後也是要通過審核那一關,到時候如果沒有通過,FB 會告訴你原因。
PS: 如果你把每個登入你 app 而且給你 Taggable Friends user 的資料都存起來,你拿到的 facebook id 也只某種 scoped id 而已,看你想怎麼運用那些 data 吧...,我個人是覺得連這種資料都要存起來是挺變態的 XD。
說到這裡,下面可以進入正題了,我分三個部分來講,
(1) 設定篇
(2) Graph API 解說篇 (不包含程式實作)
(3) 送審篇
(1) 設定篇
基本順序就是這樣
a. 去
developer 頁面,『My Apps』(1) 下拉選單選擇你的 APP (前提是你有權限可以設定...),然後左側選單點選 『Status & Review』(2),切換到 『items in review』(3) 的 Tab,點選 『Add Items to this Submission』(4) 的按鈕,再勾選 FEATURES 底下的 Taggable Friends (5) 的權限,按下『Add Items』(6)。
(因為我這是為了截圖而開的測試 app,很多紅紅的地方是因為沒有填資料而已)
完成了 add 1 item 之後,畫面會 reload,你會看到這樣,看到紅色驚嘆號請不要緊張,我會解釋。
首先,Status & Reviews 的按鈕之所有驚嘆號,
表示你有未通過的審核,或是尚未審核的項目。在網站還在開發階段時,這裡還是驚嘆號都無所謂,
只要你測試的時候用的 Facebook 帳號有被加到這個 app 的 developers 之中,你都可以使用 Taggable Friends 的 API,或是你可以建立 Test User 帳號來測試 Taggable Friends 也可以用。
換句話說就是,不要天真的想說自己可以用,好像功能都正常,那是不是就不需要審核了呢,不是這樣的哦...。開發者可以用是很正常的,但是不要太開心請親朋好友測試,因為他們沒有被加到開發者名單,而且又還未通過審核的狀態時,他在使用這個 Facebook 登入 app 時會這樣... 顯示這樣的訊息 : 『Some of the permission below have not been approved for use by Facebook』,會露餡 :P
恩,總之這個部分我只是提醒,一定要審核。
完成設定上的步驟,接下來應該先實作你的程式,讓網站可以成功的跟 taggable friends 的 api 完美的 work,要完美哦! 因為審核是真的有人來用你的網站,玩到一半不能用就糗了。
第二件事情,App Details 在送審時不能沒有資料,你一定要寫,而且你的網站一定要有一個 privacy policy 的頁面網址。詳情可以看
https://developers.facebook.com/docs/apps/review。總之這頁該填的要填。
(2) Graph API 解說篇 (不包含程式實作)
API 實作其實沒有什麼好講的,我也說不清楚啊,看你用什麼語言開發 (看你是 php, 還是 javascript, android, ios...),方便用什麼方式去接資料吧。
文章在此請服用。
文件寫得非常的直白了,我想我無法說得比文章更詳細。
只有以下事情要提醒跟說明:
(1) 用 taggable_friends 要搭配
user_friends 才可以用。user_friends 不用特地審核,可是你開始在取得 access token 時要自己加入這一項,以我自己的 php 的程式來說就像這樣:
'default_scope' => ['email', 'user_friends', 'publish_actions'],
(2) 回傳的資料有該 user 可以被 tag 的朋友名單,其各個朋友的資料包含 id, name 跟 picture。id 就是要 tag 朋友時用的 id,這個等你需要做什麼發佈圖片或是 share with 誰誰誰的那種功能你就會用到了, picture 就是縮圖這樣而已。 三種資料你也不一定要全拿啦,但通常都是全拿 :P。
(3) 送審篇
如果你測試了 taggable_friends 沒問題之後,你必須在審核時合理的解釋為什麼需要用它,以及如何讓審核人員知道如何用 facebook 登入你的 app (必須截圖),並且說明。
送審你必須回到 developers 設定頁面。找到前面說的那個申請的地方,點開 taggable friends 的 Add Note 按鈕,然後詳述他問你的問題。
通常是一次送一堆出去審,比較方便 XD
下面的問題也要填,required 的地方一定要填,Screenshot 的地方,你要截下網頁的圖並且說明
(至少四張),審核人員是會真的造訪你的網站,親自去試的。
你如果不會寫,請先看 guideline,很實用,還有要注意,要用英文寫。
https://developers.facebook.com/docs/apps/review
最好是 step 說明,像他的提示那樣。
如果你都填好之後,同一下最下方,勾選你確定你測過這個功能了,然後按下 submit for Review,就可以了。
submit 一旦送出:
你不能再修改 review 寫的那些內容,screenshot, App Detail, website url 什麼的,都不能再改,除非你中途取消送審。
送審要多久?
最長七天,根據我的過去的經驗,最快 1 天半就過了,有時候是兩到三天,最久我沒等過七天的耶。
送審之後,你會收到一封信,只是通知你而已。
接著就是只能靜待審核結果,也是會寄信通知,或是會顯示在 alert 的頁面上。
審核結果會顯示在 Statue & Review 頁面上
恩... 我實在是沒有未通過的照片,反正紅通通的就是沒過,綠通通的就是過摟。
沒過你也不用擔心,他會告訴你為什麼,反正你修改過後,送審的步驟就是再送一次,已經通過的不用重新送,沒通過的才要。
結尾
* 這篇只是個簡單介紹流程的文章,實際上標記朋友不會單獨申請,會搭配 publish_action 等等。
* test user 的功能很方便,別遺忘這個功能。
*要考慮到網站上線的時間,請務必要拿捏好審核的時間點,以及如果未通過之後,程式修改後又再次送審的時間。
*我之前研究這一塊真的是花蠻多時間的,當然送審沒過的機率也是有,通常會跟你有沒有正確使用這項權限有比較大的關係。
我們從頭到尾來複習一下要個權限有多少事情要做
1. 網站要有網址,不要用 ip (印象中 ip 應該也不行)
2. 申請要的權限項目 (Status & Review)
3. App Details 該填的填
4. 要準備 privacy policy 頁面,提供網址填到 app details 頁面的 privacy policy URL 項目
5. 程式要實作 api
6. 測試 fb 登入跟申請的 api 可以 work,以及流程順暢
7. 送審,做 screenshot,寫說明,然後就 submit! 靜待結果