Archiv verlassen und diese Seite im Standarddesign anzeigen : Facebook aus eigenen Skripten ansteuern ?!
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)
aber soweit war ich auch schon.
Und wo ist dann dein Problem? "Getting started" reicht dir nicht? Dokumentation - Facebook-Entwickler (http://developers.facebook.com/docs/)
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 ???
aber wie setze ich curl ein ???
http://www.php.net/manual/en/book.curl.php
http://www.google.com/search?q=curl+tutorial
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 ??
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 :-)
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/)
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.
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.
bei generierten testusern geht das eintragen ohne probleme.
jetzt muß das ganze nur noch auf meinem account funktionieren ...
|
|