1

如果之前詢問過,請原諒我,但我無法找到答案,看起來似乎是一個簡單的問題。我有一個應用程序,授權給用戶的粉絲頁面,通過我建立的網站進程。這個過程是這樣的:如何確定一個應用程序是否被授權給粉絲頁面

訪問網站 - >授權的網站,查看粉絲頁面的列表 - >選擇風扇頁安裝應用 - >授權應用的用戶帳戶 - >授權應用到粉絲專頁

我已經掌握了所有這些工作(一個過程,讓我告訴你),並且所有功能都按預期工作。我正在使用管理界面來管理不在Canvas App位置但位於網站本身的應用程序。我還沒有找到一種方法來確定應用程序是否安裝。看起來Graph API/FQL不支持這一點。

我的兩個問題是:

  • 我有用戶ID &風扇頁ID,但我無法弄清楚是否說的粉絲頁面已經我的應用程序授權。根據這個答案將決定我是否顯示「安裝此應用程序」面板或管理面板。

  • 我讀過最好的方法是當應用程序最初被授權時存儲用戶標識,但在應用程序被授權後,用戶被髮送到粉絲頁面的牆上,我無法弄清楚如何通知我的iframe應用程序。

+0

更新了這個問題的標題,以反映轉而幫助其他人陷入這個特殊的障礙。 – Jeremy

回答

1

我誤解了你的問題,並認爲你的執行力不如你看似的:如果你有一個用戶的manage_pages權限,你可以爲他們每個頁面獲得頁面訪問令牌,並訪問應用程序當前作爲標籤安裝在該頁面上 - 說明位於https://developers.facebook.com/docs/reference/api/page/#tabs

對應用程序的「頁面標籤url」發出的每個請求都將包含一個signed_request參數。 解碼它的方法在https://developers.facebook.com/docs/authentication/signed_request/解釋 - 當你的應用程序加載到頁面標籤上時,你會得到'page'參數。

所以:

  1. 首次由您的應用程序所提供的選項卡在新頁面上加載,可以從簽名的請求檢測頁面ID。

  2. 這種回調還會告訴你,如果當前查看的頁面選項卡的用戶是因爲該網頁的管理員(可以是你自己的編輯界面非常有用,如果適用)

  3. 如果您還沒有已經有一個界面,應用程序用戶告訴你他們管理哪些頁面,一旦擁有manage_pages權限,您就可以通過訪問其用戶對象(圖形API中的/me/accounts)的「帳戶」屬性來獲得用戶管理的所有頁面的列表

+0

謝謝,那就是我一直在尋找的。我正在尋找Pages> Apps,忘記了它們成爲粉絲頁面上的「標籤」的術語。 我已經有了manage_pages perm,所以我只需從有問題的頁面(我已經知道)中檢索該令牌,並使用該令牌來請求/ PAGE_ID /選項卡,從而爲我提供豐富的信息,包括我的後。感謝您及時的回覆! – Jeremy

0

你能跟蹤誰在你的網站上有數據庫授權的應用嗎?

即從您的應用程序調用您網站服務器上的腳本,返回用戶是否授權該應用程序。

+0

是的,這實際上是我在上述答案後實現的。基本上,我的網站使用Facebook Connect(需要授權)來檢索Facebook用戶的信息以及他們的頁面(具有'manage_pages'權限)。從那裏,我可以根據頁面來驗證他們是否使用上述廣告的答案安裝了我的應用程序。 – Jeremy

相關問題