Публикация открытых графиков

Я постараюсь не делать это слишком затянутым. По сути, с Open Graph, если пользователю «нравится» веб-страница (в моем примере, блог), вы можете настроить ее так, чтобы при добавлении новой публикации в их ленте новостей отображалась запись, связанная с ней.

О том, как это якобы делается, см. здесь: https://developers.facebook.com/blog/post/465/

По сути, вы добавляете метатеги OG на свой сайт, создаете приложение, ссылаетесь на app_id в тегах OG, например, на страницу, и затем создается своего рода невидимая страница facebook, которую могут видеть только администраторы — пользователи попадают на сайт вместо этого. Важно то, что, поскольку людям нравится эта страница, вы можете писать сообщения с этой страницы, и пользователи это увидят.

Странно то, что это работало для меня вчера, но внезапно перестало работать. Ничего не изменилось, просто перестало работать.

Итак, я создал блог, добавил правильные метатеги OG, создал приложение, добавил тег fb:app_id в блог, содержащий идентификатор приложения.

Код в примере можно разделить на две части. Во-первых, получение токена доступа:

$access_token_url = "https://graph.facebook.com/oauth/access_token"; 
$parameters = "grant_type=client_credentials&client_id=" . $app_id . "&client_secret=" . $app_secret;
$access_token = file_get_contents($access_token_url . "?" . $parameters);

Это отлично работает, он возвращает токен доступа. Однако вторая часть примера, публикация со страницы facebook не работает.

$apprequest_url = "https://graph.facebook.com/feed";
$parameters = "?" . $access_token . "&message=" . $mymessage . "&id=" . urlencode($ogurl) . "&method=post";
$myurl = $apprequest_url . $parameters;
$result = file_get_contents($myurl);

Я получаю сообщение об ошибке: (# 200) Пользователь не разрешил приложению выполнять это действие.

Facebook изменил свой API за последние 24 часа или что-то в этом роде?

Любая помощь будет высоко оценена, так как это сводит меня с ума!

Ура Пит


person Pete Robinson    schedule 23.09.2011    source источник


Ответы (1)


Авторизует ли пользователь ваше приложение? Вам необходимо аутентифицировать пользователя в первый раз, чтобы приложение могло публиковать сообщения от его имени: http://developers.facebook.com/docs/authentication/

Вам нужно будет запросить разрешение publish_stream. Вот ссылка: http://developers.facebook.com/docs/reference/api/permissions/

После этого вы можете следовать примерам, чтобы опубликовать или использовать то, что у вас есть. (не забудьте сохранить access_token)

Вот пример с JS https://developers.facebook.com/docs/reference/dialogs/feed/

person Juan Bermudez    schedule 23.09.2011
comment
Привет Хуан, к сожалению, это не то, что я пытаюсь сделать. Если бы это было сообщение от пользователя, да, пользователь должен был бы аутентифицировать его, но когда вам нравится страница (не страница facebook, например, страница блога), для нее создается страница facebook, но вы никогда не видеть это. Однако, используя Open Graph, вы можете размещать сообщения с этой страницы. Это довольно сложно объяснить, но этот пост должен объяснить это: developers.facebook.com/blog/ сообщение/465 - person Pete Robinson; 23.09.2011