Facebook的。通过单击图像在Facebook墙上发布文本

时间:2013-01-23 23:07:02

标签: php facebook api session stream

我想创建一个Facebook应用程序,当用户点击图片时自动发布用户墙上的一些文字。

我有一个脚本:

<?php

define('FB_APIKEY', 'YOUR_API');
define('FB_SECRET', 'YOUR_SECRET');
define('FB_SESSION', 'YOUR_SESSION');

require_once('./files/Facebook.php');

echo "post on wall";
try {
  $facebook = new Facebook(FB_APIKEY, FB_SECRET);
  $facebook->api_client->session_key = FB_SESSION;
  $fetch = array(
       'friends' =>array(
           'pattern' => '.*',
           'query' => "select uid2 from friend where uid1={$user}"
            )   
         );
  echo $facebook->api_client->admin_setAppProperties(array('preload_fql' => json_encode($fetch)));

  $message = 'From My App: publish steven on facebook';
  if( $facebook->api_client->stream_publish($message))
    echo "Added on FB Wall";

} catch(Exception $e) {
    echo $e . "<br />";
}
?>

据我所知,我需要输入我的api,秘密和会话,其中称为“YOUR_API”,“YOUR_SECRET”,“YOUR_SESSION”。

但我怎样才能获得会话密钥?

当我输入API时,SECRET正确,但没有会话密钥我收到错误:

Fatal error: Call to a member function stream_publish() on a non-object in /home/padekime/domains/padekime.wu.lt/public_html/scriptas/index.php on line 12

我花了很多时间,阅读了很多教程,但找不到解决方案......

也许这里有任何其他脚本可以在用户的​​墙上发布一些文字吗?

当我尝试这个解决方案时: Authorizing a Facebook Fan Page for Status Updates 我收到了错误:

FATAL error (Fatal error: Call to a member function stream_publish() on a non-object in ...)

当我尝试这个时:

<?php
$msg = array (
'message' => 'bla bla bla ... bla bla bla...',
'name' => 'The BlaBla Mesage',
'caption' => 'link',
'link' => 'http://www.google.lt',
'description' => 'saf',
'picture' =>'',
'actions' => array(array(
'name' => 'Visit',
'link' => 'http://www.google.lt'))
);
$result = $facebook->api('/me/feed/','post',$msg);
var_dump($result);
?>

我收到了错误:

Fatal error: Call to a member function api() on a non-object in /home/padekime/domains/padekime.wu.lt/public_html/scriptas/index.php on line 22

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为您最大的问题是您正在尝试使用过时的方法,并且可能使用过时的PHP SDK。当前的php SDK代码中不存在api_client()方法。

首先下载current php SDK from GitHub

Facebook Developers site处有一个关于“在用户墙上发布链接”的当前方法的完整教程。使用当前的SDK跟随该教程,你应该处于良好的状态。