2011-02-26 96 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