是否可以在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
- ?>
我写了和深入的教程:How To: Post On Facebook Page As Page Not As Admin User Using PHP-SDK