Facebook stream.publish и устаревшие шаблоны комплектов? - PullRequest
3 голосов
/ 24 января 2010

Я несколько месяцев не пробовал возиться с PHP API PHP. Поскольку пакеты шаблонов, по-видимому, больше не существуют, как я могу опубликовать историю в ленте новостей своих пользователей для своих друзей? Я также уже запросил разрешения.

Редактировать. Похоже, что проблема возникает из-за того, что запрошенные разрешения не были заданы пользователю при их предоставлении.

Пока у меня есть это

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

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

Редактировать: Я просматривал "API-документацию" на Facebook несколько раз, но мне просто не понятно. Я не могу сказать, что на самом деле устарело или нет. Они ссылаются на учебники 2-3 года!

Если у вас проблема с перезагрузкой приложения iframe снова и снова, попробуйте использовать

$facebook->require_frame()

Ответы [ 2 ]

1 голос
/ 24 января 2010
    <?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>

Используйте вышеуказанный скрипт, это самый простой способ опубликовать

1 голос
/ 24 января 2010

Вы уже искали тему на вики-странице Facebook? 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();
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...