你如何张贴在墙上的Facebook页面(不是简介)

我有一个用php编写的博客网站,它使用简单的http post请求通过使用php curl来自动发布新博客文章到Twitter和博客平台。

我有一个博客网站的Facebook页面,并希望更新被张贴到页面的墙上,是否有一个简单的方法来做到这一点?

我真正想要的是一个url和一组参数,作为一个http post请求分组。

请注意,这是张贴到一个新的风格页面墙上不是configuration文件。

提前致谢。

从github获取PHP SDK并运行以下代码:

<?php $attachment = array( 'message' => 'this is my message', 'name' => 'This is my demo Facebook application!', 'caption' => "Caption of the Post", 'link' => 'http://mylink.com', 'description' => 'this is a description', 'picture' => 'http://mysite.com/pic.gif', 'actions' => array( array( 'name' => 'Get Search', 'link' => 'http://www.google.com' ) ) ); $result = $facebook->api('/me/feed/', 'post', $attachment); 

上面的代码会将消息发布到你的墙上…如果你想发布到你的朋友或其他墙上,然后用该用户的Facebook用户IDreplaceme 。更多信息请查看API文档。

这适用于我:

 try { $statusUpdate = $facebook->api('/me/feed', 'post', array('name'=>'My APP on Facebook','message'=> 'I am here working', 'privacy'=> array('value'=>'CUSTOM','friends'=>'SELF'), 'description'=>'testing my description', 'picture'=>'https://fbcdn-photos-a.akamaihd.net/mypicture.gif', 'caption'=>'apps.facebook.com/myapp','link'=>'http://apps.facebook.com/myapp')); } catch (FacebookApiException $e) { d($e); } 

哈里什有答案在这里 – 除了你需要请求manage_pages许可时进行身份validation,然后使用page-id而不是me发布时….

 $result = $facebook->api('page-id/feed/','post',$attachment); 

如Frank所指出的那样,您不能创build应用程序并使用模板化的Feed发布者,而无法自动发布到Facebook墙上。

您唯一能做的就是使用他们提供的“共享”小部件,这需要用户交互。

如果您的博客输出RSS提要,则可以使用Facebook的“ RSS涂鸦 ”应用程序将该提要发布到Facebook的墙上。 还有其他的RSS Facebook应用程序; 只search“Facebook的RSS应用程序”…

您可以通过selectHTTP方法并设置可选参数来进行api调用:

 $facebook->api('/me/feed/', 'post', array( 'message' => 'I want to display this message on my wall' )); 

提交post到Facebook墙:

包含fbConfig.php文件来连接Facebook API并获取访问令牌。

发布消息,名称,链接,说明和图片将被提交到Facebook墙上。 提交后提交状态将显示。

如果FB访问令牌($ accessToken)不可用,FacebookloginURL将被生成,用户将被redirect到FBlogin页面。

发布到Facebook墙上的PHP SDK

 <?php //Include FB config file require_once 'fbConfig.php'; if(isset($accessToken)){ if(isset($_SESSION['facebook_access_token'])){ $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); }else{ // Put short-lived access token in session $_SESSION['facebook_access_token'] = (string) $accessToken; // OAuth 2.0 client handler helps to manage access tokens $oAuth2Client = $fb->getOAuth2Client(); // Exchanges a short-lived access token for a long-lived one $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']); $_SESSION['facebook_access_token'] = (string) $longLivedAccessToken; // Set default access token to be used in script $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); } //FB post content $message = 'Test message from CodexWorld.com website'; $title = 'Post From Website'; $link = 'http://www.codexworld.com/'; $description = 'CodexWorld is a programming blog.'; $picture = 'http://www.codexworld.com/wp-content/uploads/2015/12/www-codexworld-com-programming-blog.png'; $attachment = array( 'message' => $message, 'name' => $title, 'link' => $link, 'description' => $description, 'picture'=>$picture, ); try{ //Post to Facebook $fb->post('/me/feed', $attachment, $accessToken); //Display post submission status echo 'The post was submitted successfully to Facebook timeline.'; }catch(FacebookResponseException $e){ echo 'Graph returned an error: ' . $e->getMessage(); exit; }catch(FacebookSDKException $e){ echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } }else{ //Get FB login URL $fbLoginURL = $helper->getLoginUrl($redirectURL, $fbPermissions); //Redirect to FB login header("Location:".$fbLoginURL); } 

Refrences:

https://github.com/facebookarchive/facebook-php-sdk

https://developers.facebook.com/docs/pages/publishing/

https://developers.facebook.com/docs/php/gettingstarted

http://www.pontikis.net/blog/auto_post_on_facebook_with_php

https://www.codexworld.com/post-to-facebook-wall-from-website-php-sdk/

Interesting Posts