wake-up-neo.com

"Gefällt mir" einer Seite mit der Facebook Graph API

Verwenden der Graph API Ich möchte, dass ein autorisierter Benutzer eine Seite "mag".

Ich habe versucht, Folgendes zu posten

https://graph.facebook.com/${PAGE_ID}/likes?access_token=${ACCESS_TOKEN}

Und ich erhalte einen HTTP-Fehler 500 in Verbindung mit "Ungültiger post_id-Parameter" im JSON-Antworttext. Sieht aus wie das /likes resource ist dafür geeignet, einen Pinnwandeintrag und keine Seite zu mögen. Wie bringe ich das auf eine Seite?

70
Tom Wells

Facebook hat die Unterstützung für das Liken von URLs außerhalb von Facebook mithilfe der offiziellen eingebauten Like-Aktion angekündigt. Du brauchst publish_actions Berechtigungen. Die Grafik-URL dafür lautet: https://graph.facebook.com/[User FB ID]/og.likes?object=OG_OBJECT_URL&access_token=USER_ACCESS_TOKEN

Sie können dies jedoch nicht verwenden, um eine Seite auf Facebook zu liken, wie in Dokumentation angegeben :

Für Facebook-Seiten oder Websites, die nicht in die Facebook-Authentifizierung integriert sind, sollten Entwickler weiterhin das Social Plug-In "Gefällt mir" verwenden.

41
bkaid

Update Juni 2016

Es ist immer noch nicht möglich, eine Seite über die Facebook-API zu liken, wie im /{user_id}/likesDokumentationsseite zum Erstellen/Aktualisieren/Löschen:

Sie können diesen Vorgang nicht auf diesem Endpunkt ausführen.

In früheren Versionen war die Nachricht klarer (siehe das Zitat unten), aber das Ergebnis ist das gleiche: Es ist nicht möglich.

Mai 2014

Das /{user-id}/likes Dokumentationsseite Status über Publishing Likes von Facebook-Seiten:

Sie können mit diesem Edge nicht veröffentlichen, da es ist nicht möglich, eine Facebook-Seite über eine API zu erstellen. Sie sollten die Schaltfläche "Gefällt mir" verwenden, wenn andere Personen eine Seite in Ihrer App mögen sollen.

Dies ist die offensichtlichste und klarste Aussage, die mir eine Antwort auf die Frage geben konnte.

10
Tamer Shlash

Wenn Sie diese Funktion in einem Seiten-Tab oder einer Canvas-Seite in Facebook verwenden möchten (z. B. um die Seite von einer Likegated-Seite aus zu liken), können Sie das tun, was Tom Wells in seiner Antwort an Luke vorgeschlagen hat. Sie binden zuerst die iframe-Version ihres Like-Buttons in Ihre Seite ein und warten dann einfach auf das Edge.create Ereignis in Ihrem JS wie folgt:

FB.Event.subscribe('Edge.create',
    function(response) {
        alert('You liked the URL: ' + response);
        // ...
    }
);

Im Rückruf können Sie festlegen, was passiert, wenn dem Benutzer die Seite gefallen hat, z. B. wenn Sie von der Like-Gate-Seite weg navigieren oder nur den gewünschten Inhalt anzeigen.

Wenn der Benutzer auf die Schaltfläche "iFrame like" klickt, sollte Ihr JS-Code den Edge.create -Ereignis unter der Annahme, dass der iFrame so konfiguriert wurde, dass er auf die URL der betreffenden Seite verweist.

5
Keith

wenn es sich bei Ihrer App um eine Open Graph-App handelt, können Sie die API jetzt verwenden, ohne die Schaltfläche mehr zu benötigen.

https://developers.facebook.com/docs/opengraph/actions/builtin/likes/

5
Israhack

Ich bin der Meinung, dass dies nur für bestimmte Partnerseiten wie Yelp zulässig ist. Der Grund dafür ist die Sicherheit. Sie könnten ein wenig Javascript auf eine Seite setzen und jeden, der diese Seite besucht, dazu bringen, es ohne sein Wissen zu "mögen".

Siehe Wie "gefällt" mir eine URL? im Facebook Platform Developer Forum

3
Luke

Sie können ein Objekt mit seiner Objekt-ID mithilfe der Facebook-API mithilfe des folgenden Codes bewerten

[FBRequestConnection startForPostWithGraphPath:[NSString stringWithFormat:@"/%@/likes",{object_id}] graphObject:nil completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
   //do you customisation post like here
}];
0
Avinash