Как следует из названия, я пытаюсь динамически сгенерировать метатеги Facebook Open Graph, но не могу заставить его работать. Возможно ли это вообще?
Наконец-то я заставил это работать с помощью @saccharine. У меня работает следующий код:
0) {
$params = $_GET;
} else {
$params = $_POST;
}
// defaults
if($params['type'] == "") $params['type'] = "restaurant";
if($params['locale'] == "") $params['locale'] = "en_US";
if($params['title'] == "") $params['title'] = "default title";
if($params['image'] == "") $params['image'] = "thumb";
if($params['description'] == "") $params['description'] = "default description";
?>
URL-адрес, который я помещаю в отладчик Facebook, теперь может включать любой из динамических параметров или даже их отсутствие, все или только выделение и в любом порядке, например:
http: //mysite.com/index.php?type=restaurant&title=luigis
или это:
http://mysite.com/index.php?locale=de_DE&description=hi&type=bistro
Выполнив это: Теперь я могу публиковать действия в потоке пользователя:
function postRestaurant() {
FB.api('me/MY_APP_NAMESPACE:have_lunch?\
start_time=2000-12-12T04:00:00&\
expires_in=7200&\
restaurant=' + encodeURIComponent(getRedirectURI() + '?type=restaurant' + '&description=arnold' + '&title=stalone'), 'post', function (response) {
if (!response || response.error) {
console.log('postRestaurant: Error occured => ' + response.error.message);
} else {
console.log('postRestaurant: Post was successful! Action ID: ' + response.id);
}
});
}
Работает как шарм! :]