Можно ли размещать на стене Facebook как приложение, а не как пользователь? Насколько я понимаю, приложение не является допустимым пользователем для Facebook, но есть множество комментариев о публикации в качестве страницы, а не как пользователь или приложение.
Как я могу это сделать, используя PHP Facebook API?
Вам нужны разрешения publish_stream,manage_pages
. Код выглядит примерно так:
<?php // This code is just a snippet of the example.php script // from the PHP-SDK <https://github.com/facebook/facebook-php-sdk/blob/master/examples/example.php> require '../src/facebook.php'; // Create our Application instance (replace this with your appId and secret). $facebook = new Facebook(array( 'appId' => 'app_id', 'secret' => 'app_secret', )); // Get User ID $user = $facebook->getUser(); if ($user) { try { $page_id = 'page_id'; $page_info = $facebook->api("/$page_id?fields=access_token"); if( !empty($page_info['access_token']) ) { $args = array( 'access_token' => $page_info['access_token'], 'message' => "I'm a Page!" ); $post_id = $facebook->api("/$page_id/feed","post",$args); } else { $permissions = $facebook->api("/me/permissions"); if( !array_key_exists('publish_stream', $permissions['data'][0]) || !array_key_exists('manage_pages', $permissions['data'][0])) { // We don't have one of the permissions // Alert the admin or ask for the permission! header( "Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream, manage_pages")) ); } } } catch (FacebookApiException $e) { error_log($e); $user = null; } } // Login or logout url will be needed depending on current user state. if ($user) { $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(array('scope'=>'manage_pages,publish_stream')); } // ... rest of your code ?>
Я написал и углубленный учебник об этом: Как: Опубликовать на странице Facebook, как страница не как пользователь Admin с помощью PHP-SDK
Сначала вы должны авторизовать пользователя через соединение facebook и запросить разрешение manage_pages как часть этого запроса. Вы можете использовать это разрешение, чтобы получить токен и секрет для рассматриваемой страницы. Затем вы используете те, которые разрешают запросы, а не токены / секрет, которые вы получили для пользователя.
Ознакомьтесь с разделом «Вход в страницу» этой страницы для получения дополнительной информации: http://developers.facebook.com/docs/authentication/