2013-01-15 65 views
0

我使用$ facebook-> api自動發佈故事,當用戶接受我的應用程序並在我的網站上讀取故事。這一切都可以正常工作,但問題是當他刷新頁面或重新訪問頁面時,同樣的故事/鏈接會重新張貼在他的牆上! 如何爲一位用戶發佈故事一次! 我在wordpress中這樣做!Facebook應用程序發佈故事一次

include_once("fb_config.php"); 
     //Setup Facebook post url and login url 
     $post_url = '/'.$fbuser.'/feed'; 
     $loginUrl = $facebook->getLoginUrl(array(
      'canvas' => 1, 
      'fbconnect' => 0, 
      'scope' => $fbPermissions, 
      'redirect_uri'=>$homeurl 
     )); 
     //Setup the message to be posted on users wall 
     $thumbnail = wp_get_attachment_url(get_post_thumbnail_id($post->ID, 'thumbnail')); 
     $description = my_excerpt($post->post_content, $post->post_excerpt); 
     $description = strip_tags($description); 
     $description = str_replace("\"", "'", $description); 
     $p_title = html_entity_decode(get_the_title(), ENT_NOQUOTES, 'UTF-8'); 
     $news = array(
      'message'  => '', 
      'name'   => htmlspecialchars_decode($p_title), 
      'link'   => get_permalink($post->ID), 
      'caption'  => get_bloginfo ('description'), 
      'description' => $description, 
      'picture'  => $thumbnail 
     ); 

    if ($fbuser) { 
     try { 
      $postResult = $facebook->api($post_url, 'post', $news); 
     } 
     catch (FacebookApiException $e) { 
     echo '<script>top.location.href = "'.$loginUrl.'"</script>'; 
     } 
    }else{ 
     echo '<script>top.location.href = "'.$loginUrl.'"</script>'; 
    } 
+0

你可以在這裏發佈一些代碼,尤其是自動發佈部分? – mallix

+0

e dited原帖 –

回答

1

如何:

創建像一個數據庫表:

[user_article_posted] 
user_article_posted_id 
user_id 
article_id 

每次用戶讀取(負載)的文章,如果通過Facebook登錄,檢查是否有是user_id/article_id記錄的組合。

  1. 如果沒有:不發佈到Facebook
  2. 如果不是:插入新行,該行表(用戶/條),併發布故事給Facebook

user_ID的也可能是fbuser視在你的結構上。

+0

這是一個好主意,thnx mallix我嘗試了coockies和會議,但這並不奏效! –

+0

是的,沒有必要在這裏使用會話。只要檢查用戶是否過去發佈了文章(使用該表格來跟蹤記錄),並且您可以繼續。 – mallix

+0

馬利克斯我得到它的工作,並接受你的答案。我發現如果用戶從他們的牆上刪除故事,我將無法再重新發布,因爲我的故事存在於我的數據庫中! :S也許有一種方法用fb-api來檢查用戶牆上存在鏈接的天氣 –

相關問題