Open Graph Publishing - PullRequest
       18

Open Graph Publishing

0 голосов
/ 23 сентября 2011

Я буду стараться изо всех сил, чтобы не затягивать.По сути, с помощью 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 часа или что-то в этом роде?

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

Приветствия, Пит

1 Ответ

0 голосов
/ 23 сентября 2011

Авторизует ли пользователь ваше приложение? Вы должны аутентифицировать пользователя в первый раз, чтобы приложение могло публиковать сообщения от его имени: 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/

...