我想创建一个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
感谢您的帮助。
答案 0 :(得分:0)
我认为您最大的问题是您正在尝试使用过时的方法,并且可能使用过时的PHP SDK。当前的php SDK代码中不存在api_client()
方法。
首先下载current php SDK from GitHub。
在Facebook Developers site处有一个关于“在用户墙上发布链接”的当前方法的完整教程。使用当前的SDK跟随该教程,你应该处于良好的状态。