Codeigniter和facebook php sdk自动发布到公司墙

时间:2013-08-15 03:30:57

标签: php facebook codeigniter

我已经建立了一个带有codeigniter的网站,并为用户实现了facebook登录。那里的一切都很棒。应用程序连接用户令牌beig保存了整整九码。我正在做的事情是让网站本身不是用户发布到用户帖子上的用户帖子。基本上用户发布了一个列表。该网站然后提交的帖子发布到我的Facebook公司页面而不是登录用户的Facebook墙。 (我已经有了这个工作。当用户登录时,我可以让网站登录Facebook发布到墙上吗?

1 个答案:

答案 0 :(得分:1)

您需要获取Appid,App secret和访问令牌。您可以扩展访问令牌,使其不会过期。

$graphUrl = 'https://graph.facebook.com/oauth/access_token?client_id='.APPID .'&client_secret='.APPSECRET.'&grant_type=fb_exchange_token&fb_exchange_token='.ACCESS_TOKEN;

$accessToken = @file_get_contents($graphUrl);
parse_str($accessToken); //get the access_token param in the string and would be named $access_token
if(!$access_token) $access_token = $accessToken; //if cannot be extended then just return the access token with 2 hours expiry

要发布为您的公司页面,您需要他们的网页ID。

以下是我用来完成所有这些工作的脚本的一部分。它不是codeigniter,但你将能够看到它是如何工作的。

$config = array(
        'appId' => APPID,
        'secret' => APPSECRET,
);


        $facebook = new Facebook($config);
        $facebook->setAccessToken(ACCESS_TOKEN);

        // Get User ID
        $user = $facebook->getUser();

if ($user) {

        try {
                $page_id = '************'; // 
                $page_info = $facebook->api("/$page_id?fields=access_token");
                if(!empty($page_info['access_token']) ) {
                        // do your code stuff

                 }

         } catch etc etc

希望这对你有所帮助