2013-08-15 3 views
0

Я создал сайт с codeigniter и внедрил логин для входа в систему для пользователей. Там все отлично работает. Приложение подключено к токенам пользователя, которые сохраняют все девять ярдов. У меня возникают проблемы с тем, что сам веб-сайт НЕ является зарегистрированным пользователем на странице подключенной компании facebook на завершение пользовательского сообщения. по существу, пользователь публикует листинг. веб-сайт затем отправляет эти сообщения на мою страницу компании facebook. НЕ регистрируется в стенах facebook пользователей. (у меня уже есть работа. Могу ли я оставить сайт зарегистрированным в Facebook, чтобы опубликовать его на стене, пока пользователь также зарегистрировался?Codeigniter и facebook php sdk autopost на стену компании

ответ

1

Вам нужно будет получить секрет Appid, App и токен доступа. расширить маркер доступа таким образом, чтобы он не истекает.

$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 

для того чтобы оставить в качестве страницы компании, вам потребуется их идентификатор страницы.

Вот часть моего сценария, который я использовал, чтобы получить все это работает, а не кодогенизатор, но вы сможете увидеть, как он работает.

$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 

Надеюсь, это полезно для вас

Смежные вопросы