我想知道是否有人会帮我解决我的stream.publish测试问题。我以为我有所有正确的作品。这是代码:
<?php
require_once 'facebook.php';
$appapikey = 'xxxxxxx';
$appsecret = 'xxxxxxx';
$facebook = new Facebook($appapikey, $appsecret);
$user_id = $facebook->require_login();
$message = "Will this status show up and allow me to dominate the world?!";
$uid = $user_id;
echo $uid;
$facebook->api_client->stream_publish($message,$uid);
我期待的是我的状态改为$ message的内容。相反,我的UID是echo'd,然后它会抛出500错误。我已经允许publish_stream
以及offline_access
(在我的应用设置中验证,通过我的个人资料),API密钥将这一小段代码挂钩到我的应用。我需要做哪些其他部分才能使这个简单的例子有效?我发现FB文档有点难以组合在一起。
- include是官方的PHP Facebook库
答案 0 :(得分:6)
stream_publish()需要两个以上的参数:
stream_publish($message, $attachment = null,
$action_links = null, $target_id = null,
$uid = null)
$ target_id是您要发布到的用户或网页,$ uid是正在发布的用户或网页 - 默认为您的会话ID。要完全明确这一点,我想你需要尝试
<?php
require_once 'facebook.php';
$appapikey = 'xxxxxxx';
$appsecret = 'xxxxxxx';
$facebook = new Facebook($appapikey, $appsecret);
$user_id = $facebook->require_login();
$message = "Will this status show up and allow me to dominate the world?!";
echo $user_id;
$facebook->api_client->stream_publish($message,null,null,$user_id,$user_id);
另一种形式可能是:
$app_id = 'xxxxxxx';
$facebook->api_client->stream_publish($message,null,null,$user_id,$app_id);
答案 1 :(得分:2)
这个在2011年有效!我有同样的问题。由于Facebook的变化,大部分时间似乎都已过时。我最终找到了一种方法,并在这里做了一篇关于它的快速博客文章:
http://facebookanswers.co.uk/?p=214
还有一个屏幕截图显示结果。确保您还看到有关身份验证的博客文章。
答案 2 :(得分:0)
删除$uid
变量,因为它不需要发布。有关详细信息,请参阅此wiki entry
$stream_post_id = $facebook->api_client->stream_publish($message);
//returns $post_id to use if you want to revert the creation.
答案 3 :(得分:0)
如果您尝试将streamPublish与iFrame应用程序一起使用,这是一个非常棒的分步教程,不必使用getAppPermissions:
http://thetechnicalexperience.blogspot.com/2010/02/how-to-use-fbconnectstreampublish.html