Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Facebook aus eigenen Skripten ansteuern ?! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-consult PHP Entwicklung
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Facebook aus eigenen Skripten ansteuern ?!


 
rossixx
23-08-2010, 20:05 
 
Ein Freund hat mich gefragt, ob es möglich sei ein Skript auf der eigenen Website zu haben, wo man z.b. einen Event postet, das dieser auch gleich bei Facebook erscheint.

Da ich von Facebook keine Ahnung habe, dachte ich, vielleicht hat der eine oder andere eine Idee, oder ein Tutorial, oder ein Link.

Danke und schönen Tag noch

 
boeserfrosch
23-08-2010, 23:11 
 
Ich würde bei solchen Problemstellungen zuerst auf der entsprechenden Seite nachschauen.
Bei Facebook wäre das beispielsweise unter:
Facebook-Entwickler (http://developers.facebook.com/?ref=pf)

 
rossixx
24-08-2010, 15:12 
 
aber soweit war ich auch schon.

 
unset
26-08-2010, 00:39 
 
Und wo ist dann dein Problem? "Getting started" reicht dir nicht? Dokumentation - Facebook-Entwickler (http://developers.facebook.com/docs/)

 
rossixx
16-11-2010, 20:12 
 
habe folgenden code getestet, mit meiner id und schlüssel:

https://github.com/facebook/php-sdk/blob/master/examples/example.php

das funktioniert auch, aber den nächsten schritt - etwas auf facebook zu veröffentlichen -

den bekomme ich nicht hin :-(

mal wieder zu blöd oder zu blind.

hier wird viel beschireben:

Post - Facebook-Entwickler (http://developers.facebook.com/docs/reference/api/post)

aber wie setze ich curl ein ???

 
wahsaga
16-11-2010, 20:28 
 
aber wie setze ich curl ein ???
http://www.php.net/manual/en/book.curl.php
http://www.google.com/search?q=curl+tutorial

 
rossixx
23-11-2010, 18:35 
 
so und ich stelle mich mal wieder an, aber kann mir einer folgendes erklären??

direkt von facebook:

curl -F 'access_token=...' \
-F 'message=Check out this funny article' \
-F 'link=http://www.example.com/article.html' \
-F 'picture=http://www.example.com/article-thumbnail.jpg' \
-F 'name=Article Title' \
-F 'caption=Caption for the link' \
-F 'description=Longer description of the link' \
-F 'actions={"name": "View on Zombo", "link": "http://www.zombo.com"} \
-F 'privacy={"value": "ALL_FRIENDS"} \
https://graph.facebook.com/me/feed


und curl von php.net


$ch = curl_init( 'http://www.facebook.com/rassloff' );
$test = curl_exec($ch);
curl_close($ch);
echo "<br>T=$test";



was wollen die von facebook mit diesem -F ???


man curl in der console:

-F/--form <name=content>
(HTTP) This lets curl emulate a filled in form in which a user has pressed the submit button.
This causes curl to POST data using the Con‐
tent-Type multipart/form-data according to RFC1867.
This enables uploading of binary files etc. To force the ’content’ part to be a file,
prefix the file name with an @ sign.
To just get the content part from a file, prefix the file name with the letter <.
The difference
between @ and < is then that @ makes a file get attached in the post as a file upload,
while the < makes a text field and just get the con‐
tents for that text field from a file.

Example, to send your password file to the server, where ’password’
is the name of the form-field to which /etc/passwd will be the input:

curl -F password=@/etc/passwd Parallels Confixx (http://www.mypasswords.com)

To read the file’s content from stdin instead of a file, use - where
the file name should’ve been. This goes for both @ and < constructs.

You can also tell curl what Content-Type to use by using ’type=’, in a manner similar to:

curl -F "web=@index.html;type=text/html" url.com

or

curl -F "name=daniel;type=text/foo" url.com

You can also explicitly change the name field of an file upload part by setting filename=, like this:

curl -F "file=@localfile;filename=nameinpost" url.com

See further examples and details in the MANUAL.

This option can be used multiple times.


ich bekomme es einfach nicht zusammen !!!

soll das heissen - es geht nur in der console ??
oder doch auch direkt mit php ??

 
wahsaga
23-11-2010, 20:10 
 
was wollen die von facebook mit diesem -F ???
Parameter übergeben - was man normalerweise macht, wenn man ein Formular abschickt.

soll das heissen - es geht nur in der console ??
Nein. Womit wir direkt wieder bei RTFM bzw. JFGI wären :-)

 
rossixx
23-11-2010, 21:43 
 
naja zumindest bekomme ich schon einen access token zurück....

aber dann is schluss mit lustig

 
abouttheweb
06-12-2010, 15:26 
 
Einfacher wäre es, wenn du die Facebook SDK für PHP nutzt, anstatt alles selbst mit Curl zu bauen. Schau mal hier: Blog (http://www.abouttheweb.de/tutorials/facebook-die-praxis/daten-veroffentlichen-uber-die-graph-api/)

 
rossixx
08-12-2010, 18:33 
 
wie kann ich folgendes problem beheben ???

OAuthException: (#200) The user hasn't authorized the application to perform this action


require 'library/facebook.php';

define('APP_ID', '171501209535074');
define('APP_SECRET' , '9e8448b3d547b9ed7ded4ce3843d9353');

$facebook = new Facebook(array(
'appId' => APP_ID, // Anwendungs ID
'secret' => APP_SECRET, // Anwendungs-Geheimcode
'cookie' => true, // enable optional cookie support
));

try {

// Alle Testuser abrufen, die für diese Anwendung erstellt wurden.
$testuser = $facebook->api(APP_ID . "/accounts/test-users", 'get');

// Wenn noch kein Testuser für diese Anwendung existiert, erstellen wir uns einen.
if (!isset($testuser['data'][0]['id'])) {
$facebook->api(APP_ID . "/accounts/test-users?installed=true&permissions=publish_stream", 'post');
}
// Wir speichern die User ID und die Login URL des Testusers.
$testuserId = $testuser['data'][0]['id'];
$testuserLoginUrl = $testuser['data'][0]['login_url'];

// Diese Daten sollen im Newsfeed gepostet werden.
$arguments = array(
'message' => 'Hier kann eine persönliche Nachricht stehen.',
'picture' => 'http://www.abouttheweb.de/wp-content/themes/abouttheweb/img/atw-meta-image.jpg',
'link' => 'http://www.abouttheweb.de',
'name' => 'About The Web',
'caption' => 'Tutorials zu Facebook Anwendungen',
'description' => 'Herzlich willkommen auf AboutTheWeb. Hier findest Du Tutorials,
zur Erstellung von Facebook Anwendungen.
AboutTheWeb bietet Einsteigern die Chance, sich in die Erstellung
von Facebook Anwendungen mit PHP einzuarbeiten.',
'actions' => '{"name": "ATW auf Facebook", "link":
"http://www.facebook.com/pages/About-The-Web/151034811586000?v=app_102918576445766"}',
'privacy' => '{"value": "EVERYONE"}',
);

// API Call. Veröffentlichen der Status Meldung.
$facebook->api("/{$testuserId}/feed", 'post', $arguments);

// Um zu prüfen, ob alles geklappt hat, melden wir uns, durch klicken dieses Links, als der Testuser an.
print '<a href="' . $testuserLoginUrl . '">Hier geht´s zum Testuser Profil</a>';

} catch (FacebookApiException $e) {
print $e;
}



Quelle: https://github.com/AboutTheWeb/AboutTheWeb/blob/master/publish/index.php

die ersten Beispiele mit User anlegen und so haben funktioniert.
versteh ich auch soweit, nur das mit den usern kann ich theoretisch verstehen,
nur wie connected man user und anwendung ???

 
abouttheweb
08-12-2010, 18:43 
 
Als erstes musst du eine eigene Anwendung auf Facebook anlegen und die Anwendungs ID und das Anwendungs Geheinmis deiner Anwendung nehmen. Die Daten aus dem Beispiel funktionieren bei dir nicht.

 
wahsaga
08-12-2010, 19:04 
 
Bitte Code umbrechen!

 
einfacheruser
14-01-2011, 21:11 
 
Erstmal musst du dir den acess token holen mit dem Rechten ein Event zu schreiben. Dann musst du über PHP eine abfrage an Facebook über z.b. mit file_get_contents() mitem dem acess token machen und dann hat er oder wer auch ummer ein Event eingetragen.

 
abouttheweb
14-01-2011, 22:00 
 
Erstmal musst du dir den acess token holen mit dem Rechten ein Event zu schreiben. Dann musst du über PHP eine abfrage an Facebook über z.b. mit file_get_contents() mitem dem acess token machen und dann hat er oder wer auch ummer ein Event eingetragen.
Ich versuche verzweifelt etwas zu finden, dass in deinem Post nicht falsch ist. Bisher ohne Erfolg.

 
rossixx
26-01-2011, 14:08 
 
bei generierten testusern geht das eintragen ohne probleme.

jetzt muß das ganze nur noch auf meinem account funktionieren ...


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:29 Uhr.