Hallo,
Ich bin gerade dabei mich mit dem Facebook SDK auseinander zusetzen. Denn ich plane ein Modul für mein CMS, wo ich automatisch Inhalte von Twitter,Facebook und co. posten kann, wenn die Funktion getriggert wird.
Nun habe ich folgendes schon gemacht:
- Facebook Anwendung erstellt + passende Berechtigungen.
- FB SDK dazu bewegt Nachrichten an meine FanPage zu senden
Nun möchte ich gerne den Login/Session irgendwie speichern, damit das Modul später automatisch posten kann.
Denn jetzt ist es ja so, dass die Session im Browser ist. Das Modul wird später nur einen Configbereich haben, wo die Einstellungen festgelegt werden. Danach muss es automatisch funktionieren.
Also folgender Code ist vorhanden:
Alles anzeigen
Nun meine Frage: Wie führt man das Script fort, um die Loginprozedur zu überspringen. Quasi ein richtiger offline Access?
Ich bin gerade dabei mich mit dem Facebook SDK auseinander zusetzen. Denn ich plane ein Modul für mein CMS, wo ich automatisch Inhalte von Twitter,Facebook und co. posten kann, wenn die Funktion getriggert wird.
Nun habe ich folgendes schon gemacht:
- Facebook Anwendung erstellt + passende Berechtigungen.
- FB SDK dazu bewegt Nachrichten an meine FanPage zu senden
Nun möchte ich gerne den Login/Session irgendwie speichern, damit das Modul später automatisch posten kann.
Denn jetzt ist es ja so, dass die Session im Browser ist. Das Modul wird später nur einen Configbereich haben, wo die Einstellungen festgelegt werden. Danach muss es automatisch funktionieren.
Also folgender Code ist vorhanden:
PHP-Quellcode
- require './src/facebook.php';
- $app_id = '123456';
- $secret = 'abcdef';
- $app_url = 'http://apps.facebook.com/namespace';
- $root_url = 'http://'.$_SERVER['SERVER_NAME'].''.$_SERVER["PHP_SELF"];
- // create instance
- $facebook = new Facebook(array(
- 'appId' => $app_id,
- 'secret' => $secret,
- ));
- // Get User ID
- $user = $facebook->getUser();
- // Login if user not logged in
- if(!$user) {
- $loginUrl = $facebook->getLoginUrl(array(
- 'scope' => 'publish_stream, offline_access, status_update, manage_pages',
- 'redirect_uri' => $root_url
- ));
- header('Location: '.$loginUrl);
- } else {
- try {
- // get user info
- $user_profile = $facebook->api('/me');
- $id = $user_profile['id'];
- // get user accounts (users and pages)
- $accounts = $facebook->api('/me/accounts');
- // my first fanpage, can be chosse later on Adminarea
- $tokken = $accounts['data'][0][access_token];
- // Vars for Stream post action
- $vars = array(
- 'access_token' => $tokken,
- 'name' => 'Test',
- 'message' => utf8_encode('Dies ist ein Text Beispiel für die Graph-API von Facebook'),
- 'caption' => 'Test-Applikation',
- #'link' => '',
- #'description' => ''
- #'picture' => ''
- );
- // send stream post
- $result = $facebook->api('/me/feed','post',$vars);
- if($result) {
- $output = 'Post gesendet';
- } else {
- $output = 'Post NICHT gesendet';
- }
- } catch (FacebookApiException $e){
- echo $e;
- $user=null;
- }
- }
- print '<pre><b>ME:</b>';
- print_r($user);
- print '<br /><br /><b>Accounts</b><br />';
- print_r($accounts);
- print '<br /> <br/><b>UserProfile:</b><br />';
- print_r($user_profile);
- print $output;
- print_r($_SESSION);
- print '</pre>';
Nun meine Frage: Wie führt man das Script fort, um die Loginprozedur zu überspringen. Quasi ein richtiger offline Access?
Beste Grüße,
M4rc3L-XCN
M4rc3L-XCN