以及新的app取得的fb_id不再是使用者真實的fb id ,而是scope id,也就是說這個id僅可在我的app 裡面使用,也就是說同一個使用者在不同的app裡面擁有的fb id 不再相同。
假設我今天擁有多個app,我希望在多個app中確認該登入的使用者是否已經在我其他的app中登入過,我就必須使用 business api來map scope id。
在這裡我會稍微講解如何使用 Business api來 map Scope app,
要使用Business api 首先必須前往
設定 -> 進階
並完成註冊,只需要填一些基本資料即可,
如果卡在 You're not a Page Admin on any Facebook Pages.
他的意思是說,你必須在一個粉絲頁中擁有 Admin權限,最快的做法就是
只需要在自己的帳號中創建一個粉絲頁即可。
接著將我所有的app 加入我的business中
接著再使用facebook 範例的sample code
new Request(
session,
"/me/ids_for_business",
null,
HttpMethod.GET,
new Request.Callback() {
public void onCompleted(Response response) {
/* handle the result */
}
}
).executeAsync();
就會取得相關的資料了,以下是我這邊取得的結果- {
- "id":"149102310",
- "app":{
- "id":"test1_fb_id",
- "namespace":"test1",
- "name":"test1"
- {
- "id":"10202864123396999",
- "app":{
- "id":"test2_fb_id",
- "name":"test2"
這樣我們就可以match到該使用者是否有在我其他的app中使用facebook登入過了。
附註:
我們也可以使用 "/{friend_id}/ids_for_business" 來做朋友Id的mapping,這個功能目前是可用,
希望過陣子還是可以使用(極度不信任facebook api XD)
沒有留言:
張貼留言