Ответ заключается в получении разрешения «manage_pages» для кнопки FB:login
, например, так:
<fb:login-button perms="publish_stream,manage_pages" autologoutlink="true"></fb:login-button>`
Когда вы получите эти разрешения, вы можете затем получить структурированный список всехстраницы, на которых зарегистрирован пользователь, является администратором.URL для вызова:
https://graph.facebook.com/me/accounts?access_token=YourAccessToken
Я ненавижу документацию Facebook, но вот страница с некоторой информацией на ней: https://developers.facebook.com/docs/reference/api/ См. «Авторизация» и «СтраницаВ частности, разделы для входа в систему на этой странице.
Отличным ресурсом для объединения всего этого (для разработчиков Coldfusion) является CFC Джеффа Гладника в RIA Forge: http://facebookgraph.riaforge.org/
Я добавил следующееUDF для CFC Джеффа, если вы хотите его использовать:
<cffunction name="getPageLogins" access="public" output="true" returntype="any" hint="gets a user's associated pages they manage so they can log in as that page and post">
<cfset var profile = "" />
<cfhttp url="https://graph.facebook.com/me/accounts?access_token=#getAccessToken()#" result="accounts" />
<cfif IsJSON(accounts.filecontent)>
<cfreturn DeserializeJSON(accounts.filecontent) />
<cfelse>
<cfreturn 0/>
</cfif>
</cffunction>
То, что это возвращает, является структурой всех страниц, администратором которых является зарегистрированный пользователь.Он возвращает страницу NAME, ID, ACCESS_TOKEN и CATEGORY (не требуется в этом контексте).
Итак, ОЧЕНЬ ВАЖНО: Идентификатор - это то, что вы передаете, чтобы указать, какую страницу вы публикуете.и ACCESS_TOKEN - это то, что вы передаете, чтобы установить, кто вы POSTING AS.
Получив список страниц, вы можете проанализировать данные, чтобы получить массив из трех элементов:
ID - ACCESS_TOKEN - ИМЯ
Будьте осторожны, потому что ACCESS_TOKEN Facebook использует некоторые странные символы.Дайте мне знать, если вам понадобится дополнительная помощь.