0

codeigniter を使用してサイトを構築し、ユーザー向けに facebook ログインを実装しました。そこではすべてがうまく機能しています。アプリが接続されているユーザー トークンは、9 ヤード全体を節約できます。私が問題を抱えているのは、ログインしたユーザーではなく、ユーザーの投稿完了時に接続された会社のFacebookページにWebサイト自体を投稿することです。基本的に、ユーザーはリストを投稿します。ウェブサイトは、ログインしているユーザーのFacebookの壁ではなく、私のFacebookの会社のページにその投稿の投稿を送信します。(私はすでにそれを機能させています。ユーザーがログインしている間に、FacebookにログインしたWebサイトをそのままにして壁に投稿できますか?

4

1 に答える 1

1

Appid、アプリ シークレット、およびアクセス トークンを取得する必要があります。有効期限が切れないように、アクセス トークンを延長できます。

$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

これがお役に立てば幸いです

于 2013-08-15T03:39:02.707 に答える