2012-03-26 5 views
2

Ich versuche, Kommentare auf einer App-Seite in Facebook zu posten. Meine Anwendung wird in Java mit Feder MVC geschrieben. Die Funktionalität, die ich gerne implementieren würde, ist, wenn ich einen Text auf meiner Seite von meinem Backoffice aus poste, der auf meiner Facebook-Seite gepostet wird. Bisher habe ich dies für Twitter getan und es funktioniert sehr gut. Auf Facebook bin ich auf ein Problem gestoßen. Von dem, was ich gefunden habe, ist die einzige API, die fast aktuell ist, RestFB. Ich habe versucht, die folgenden als thier Beispiel zeigt:App-generierte Kommentare auf Facebook-Seite mit Java schreiben

FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN); 
FacebookType publishMessageResponse = 
facebookClient.publish("me/feed", FacebookType.class, 
Parameter.with("message", "RestFB test")); 

ich auf https://developers.facebook.com meine app erstellt und i erworben von dort mit dem Zugriffstoken. Aber das führte zu einer Ausnahme, dass ich nicht die richtigen Berechtigungen habe. Ich suchte das Web und ich lief in einen Beitrag hier: Facebook: send an app invitation

Und ich habe dieses Beispiel auch versucht. Das Ergebnis war das gleiche, dass ich nicht die richtigen Berechtigungen habe. Ich überprüfte die Berechtigungen, die ich herausgebe, und alle relevanten einmal sind erlaubt.

Kann mir bitte jemand helfen. Ist diese API aktuell? Ich überprüfe und das letzte veröffentlichte Datum war Oktober 2011 und ich weiß, dass Facebook nach dem neuen Jahr einige Änderungen vorgenommen hat. Gibt es noch eine andere bessere API? Und wenn jemand weiß, wie das geht, kann er hier ein Beispiel schreiben.

@Alexandre @Tartoth

ich mit dem Admin der Seite bin Entsendung, die ich selbst im Moment ist und nach wie vor gibt es mir einen Fehler. Hier ist der Code, mit dem ich einen Kommentar poste. Ich bin neu in dieser so vielleicht ich tue somthing falsch

String tokenUrl = "https://graph.facebook.com/oauth/access_token?client_id=" + appId + "&client_secret=" + appSecret 
       + "&grant_type=client_credentials"; 
     HttpClient client = new HttpClient(); 
     HttpMethod method = new GetMethod(tokenUrl); 

     client.executeMethod(method); 
     String rawAccessToken = new String(method.getResponseBody()); 

     String accessToken = rawAccessToken.split("=")[1]; 

     FacebookClient facebookClient = new DefaultFacebookClient(accessToken); 
     String to = appId +"/feed"; 

     facebookClient.publish(to, FacebookType.class, 
       Parameter.with(msg, "RestFB test")); 

Update: ich das frühe Problem gelöst. Und jetzt bekommt meine App ihre App Token und ich kann sie verwenden, um Nachrichten zu veröffentlichen, aber das Problem ist, dass diese Nachrichten nicht auf der App-Seite selbst angezeigt werden können. Ich weiß, dass die Nachricht gepostet wird, weil ich unter Verwendung https://graph.facebook.com/publishedMessageId darauf zugreifen kann. Jetzt ist meine neue Frage:

Ist das die richtige Art, Beiträge auf der App-Seite anzuzeigen? Der Grund für diese Frage ist, dass auf der App-Seite es sich beim Öffnen direkt von Facebook aus nur um den Update-Status handelt. Aber als ich mir die RestFb-API anschaute, gibt es keine Erklärung, wie du den App-Status aktualisieren kannst.

Wenn dies nicht der Weg ist, kann mir bitte jemand erklären, wie ich den Status als App aktualisieren kann. Das bedeutet, alles, was ich erreichen möchte, ist, wenn ich etwas in meiner Web-Anwendung ändere (in Bezug auf die Veröffentlichung einiger Neuigkeiten), möchte ich, dass mein Status auf meiner Facebook App-Seite die gleichen Nachrichten hat.

+0

Welche Berechtigungen, die Sie fragen, wenn Sie Ihre access_token erstellen? Können Sie Ihren Code für die Erstellung des access_token anzeigen? –

+0

@Traroth Ich habe meinen Post bearbeitet und den Code, den ich für die Erstellung des Zugriffs verwende, tocken –

Antwort

1

Sie müssen mit einem Seitenzugriffstoken posten, das ein Benutzer (Administrator der Seite) ist, der der App die Berechtigung "manage_pages" erteilt.

Dokumentation: https://developers.facebook.com/docs/authentication/pages/

+0

edited meine Frage, weil ich nicht für weitere 4 Stunden repost können Sie bitte überprüfen Sie meinen Code, wenn ich einen Fehler gemacht habe oder ich vermisse somthing –

+0

@MitkoZafirovski Warum müssten Sie umschreiben? Wenn die Frage im Grunde die gleiche ist, ist das was Edit ist (wie Sie es getan haben). – AHungerArtist

+0

@AHungerArtist Ich wollte umschreiben, weil sie mich gebeten haben, Code für meine Frage anzuzeigen. Aber ich denke, die Bearbeitung funktioniert genauso gut –