На самом деле это очень просто, вы можете вызвать Graph API с помощью PHP следующим образом:
$facebook->api("/{PAGE_ID}");
// change {PAGE_ID} to the page id you are redirecting back to
возвращаемое значение - это массив json со ссылкой в нем - это URL, который вы ищете: -)
Пример возврата:
{
"id": "XXXXXXXXX",
"name": "My Demo Page",
"picture": "",
"link": "https://www.facebook.com/pages/My-Demo-Page/XXXXXXXXX",
"likes": 123456,
"category": "Product/service",
"can_post": true,
"type": "page"
}
Вы также можете выполнить запрос по имени страницы, если вы его знаете, например:
, запрашивая Graph API с помощью:
$facebook->api("/coca-cola");
Результатом будет:
{
"id": "40796308305",
"name": "Coca-Cola",
"picture": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/174560_40796308305_2093137831_s.jpg",
"link": "https://www.facebook.com/coca-cola",
"likes": 40680159,
"cover": {
"cover_id": "10150682306963306",
"source": "https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-snc7/s720x720/416803_10150682306963306_40796308305_9337341_812683101_n.jpg",
"offset_y": 0
},
"category": "Food/beverages",
"is_published": true,
"website": "http://www.coca-cola.com",
"username": "coca-cola",
"founded": "1886",
"description": "Created in 1886 in Atlanta, Georgia, by Dr. John S. Pemberton, Coca-Cola was first offered as a fountain beverage at Jacob's Pharmacy by mixing Coca-Cola syrup with carbonated water. \n\nCoca-Cola was patented in 1887, registered as a trademark in 1893 and by 1895 it was being sold in every state and territory in the United States. In 1899, The Coca-Cola Company began franchised bottling operations in the United States. \n\nCoca-Cola might owe its origins to the United States, but its popularity has made it truly universal. Today, you can find Coca-Cola in virtually every part of the world.",
"about": "The Coca-Cola Facebook Page is a collection of your stories showing how people from around the world have helped make Coke into what it is today.",
"location": {
"latitude": -33.816989983333,
"longitude": 150.84844081667
},
"can_post": true,
"checkins": 80,
"talking_about_count": 297576,
"type": "page"
}
Редактировать:
Более четкое объяснение:
- Вызов API Graph с помощьюИдентификатор текущей страницы.
- Если результат не ложный, тогда redirect_uri будет ссылкой, возвращаемой из вызова.В противном случае redirect_uri должен быть yourdomain.com/middle-page.php?page_id=XXX
- Если пользователь затем принимает приложение, а redirect_uri является средней страницей, вы затем снова вызываете Graph API, но этоВы используете токен доступа, полученный от Facebook.теперь у вас должен быть реальный URL-адрес страницы, и вы можете добавить любые дополнительные детали, которые вам нужны (например,? sk_app = APP_ID)
Согласно собственной документации Facebook , не ясно, что происходитесли пользователь решил не принимать заявку.Я думаю, что пользователь перенаправит обратно на redirect_uri, который затем вы можете проверить, есть ли у вас "user_id" в подписанном запросе, но я не уверен на 100% ... Создание простой демонстрационной версии приложения и проверка :-)