Facebook stream.publish和过时的模板捆绑?

时间:2010-01-23 23:46:12

标签: php facebook

我好几个月都没有尝试过使用facebook PHP API。由于模板捆绑包显然已经不存在了,我如何将故事发布到我的用户新闻Feed中供他们的朋友使用?我也已经请求了权限。

编辑:问题似乎来自于授予用户时未为用户设置的请求权限。

到目前为止,我有这个

$appapikey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$appsecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$facebook = new Facebook($appapikey, $appsecret);
$fb_user = $facebook->require_login();

try {
    $facebook->api_client->feed_publishUserAction();
} catch(Exception $e) { }

编辑:我已经多次浏览了facebook“api文档”,这对我来说并不清楚。我不知道实际上已经弃用了什么。他们链接到2-3岁的教程!

如果您的iframe应用程序出现问题,反复重新加载,请尝试使用

$facebook->require_frame()

2 个答案:

答案 0 :(得分:1)

你是否已经在facebook wiki上查找了主题? http://wiki.developers.facebook.com/index.php/Stream.publish

有一个很好的例子可以帮助你。如果没有,您必须更准确地描述您的问题。

编辑:您可以检查并请求此类权限(并请求它们)

function check_perms() {

    global $facebook, $uid;

    $data = $facebook->api_client->fql_query( "SELECT uid, publish_stream FROM permissions WHERE uid = " . $uid );
    if( $data[0]['publish_stream'] != true ) {
        echo '<br /><p>No \'publish_stream\' permissons found!<br />';
        echo '<fb:prompt-permission perms="publish_stream"> Allow me to publish to your wall (*click*) </fb:prompt-permission>';
        echo '<br />You\'ll have to refresh the page to continue.</p>';
        die();
    }

}

答案 1 :(得分:1)

    <?php
          $message ="Your Message";
           $attachment = array( 
            'name' => 'Application Name or message', 
            'href' => 'http://apps.facebook.com/tshirtquote', 
            'description' => 'Choose/Write your T-shirt Quote, Get A Tshirt Free printed with your Favorite Quote',
            'media' => array(array('type' => 'image', 'src' => 'http://linkdoo.com/tshirtquote/images/tshirt1.JPG', 'href' => 'http://apps.facebook.com/tshirtquote/')), 
            ); 
           $action_links = array( array('text' => 'WriteYourTShirtQuote', 'href' =>   'http://apps.facebook.com/tshirtquote')); 
           $attachment = json_encode($attachment); 
           $action_links = json_encode($action_links);
           $message = json_encode($message);
      ?>
     <script>
     var attachment = <?= $attachment ?>;
     var message = <?= $message ?>;
     var action_links = <?= $action_links ?>;
     Facebook.streamPublish(message,attachment,action_links);

     </script>

使用上面的脚本,这是最简单的发布方式