2011-02-26 93 views
1

下面需要幫助的是我的應用程序的index.php文件的代碼,我想要發佈與用戶牆上的用戶授權我與OFFLINE_ACCESS和應用publish_stram需要幫助的張貼在牆上用戶

<?php 

$app_id = "XXXXXXXXXX"; 

$app_secret = "XXXXXXX"; 

$canvas_page = "http://apps.facebook.com/esccounsel/"; 

$auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
     . $app_id . "&redirect_uri=" . urlencode($canvas_page) . ("&scope=read_stream publish_stream offline_access"); 

$signed_request = $_REQUEST["signed_request"]; 

list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true); 

if (empty($data["user_id"])) { 
     echo("<script> top.location.href='" . $auth_url . "'</script>"); 
} else { 
     echo ("Welcome User: " . $data["user_id"]); 
} 

?> 

我想以後直接貼在牆上的用戶請回答

+3

我剛剛編輯過您的代碼,**永遠不會**分享您的應用程序祕密!我建議你生成一個新的**現在** – ifaour 2011-02-26 15:11:03

回答

6
  1. 下載Facebook PHP-SDK
  2. 無需爲offline_access許可
  3. 熟悉的PHP-SDK,並使用代碼在example頁面索引,是這樣的:

    <?php 
    require '../src/facebook.php'; 
    $facebook = new Facebook(array(
        'appId' => 'XXXXXXX', 
        'secret' => 'XXXXXXXX', 
        'cookie' => true, 
    )); 
    
    $session = $facebook->getSession(); 
    $loginUrl = $facebook->getLoginUrl(array(
        "req_perms" => "publish_stream" 
    )); 
    $me = null; 
    
    if ($session) { 
        try { 
        $uid = $facebook->getUser(); 
        $me = $facebook->api('/me'); 
    
        echo "Welcome User: " . $me['name'] . "<br />"; 
    
        $post_id = $facebook->api("/$uid/feed", "post", array("message"=>"Hello World!")); 
        if(isset($post_id)) 
         echo "A new post to your wall has been posted with id: $post_id"; 
    
        } catch (FacebookApiException $e) { 
        error_log($e); 
        } 
    } else { 
        echo("<script> top.location.href='" . $loginUrl . "'</script>"); 
    } 
    ?> 
    
  4. 歡迎計算器!
+0

+1是一個體面的章。 – Yehonatan 2011-02-26 17:53:56

+0

@ifaour是否有可能在第二天直接張貼到用戶牆 – Danish 2011-02-28 11:27:56

+0

@丹麥語:是的,但這次你需要將用戶ID保存在你的數據庫中,然後使用它:'$ facebook-> api(「/ $數組(「消息」=>「你好世界!」));' – ifaour 2011-02-28 11:45:23