Schnittstelle von Facebook zu Java(Eclipse) für meine Internetseite

Bella_86

Mitglied
Guten morgen! 🙂

Hab ein kleines Problem, ich suche eine Schnnittstelle von Facebook, das ich von meiner Internetseite, die neuen Beiträge automatisch auf Facebook posten kann und sollte das mit Eclipse machen! Hat jemand eine Idee? ???:L
 
Da kannst du uns auch gleich nach ´ner Formel für ´s Leben fragen. Also ein wenig Eigeninitaive wäre schon wünschenswert. Welche Ansätze hast du bereits? Gibt es schon irgendwelche Randbedingungen wie zu verwendene Technologien (Server u.ä.). Wo kommen die Beiträge her (Datenbank, RSS-Feed, ...)? Ohne ein wenig Infomaterial und v.a. die Bereitschaft, selbst ein wenig zu denken, wird man dir hier eher nicht helfen (können).
 
ja! Ich möchte gerne z. B. aktuelle News, Veranstaltungen etc. direkt von meiner Internetseite auf Facebook posten! Ich möchte Facebook direkt mit meiner Internetadresse verbinden, das zu einem bestimmten Zeitpunkt Java meine Internetseite durchforscht und sieht, ok, da ist was neues, das muss ich in Facebook posten!
 
Zuletzt bearbeitet:
Java:
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpState;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;

import com.google.code.facebookapi.Attachment;
import com.google.code.facebookapi.AttachmentMediaImage;
import com.google.code.facebookapi.FacebookException;
import com.google.code.facebookapi.FacebookJsonRestClient;
import com.google.code.facebookapi.FeedFacebookPhoto;
import com.google.code.facebookapi.Permission;
import com.google.code.facebookapi.TemplatizedAction;

public class FB_Test {

    public static void main (String a[]) throws FacebookException{

    FB_Test sfb=new FB_Test();
    sfb.send("From My App: publish steven on facebook");
    }
    public void send(String message)throws FacebookException{

        String FB_APP_API_KEY = new String("");
        String FB_APP_SECRET = new String("");
        String FB_SESSION_KEY = new String("PROBLEM HERE I THINK");
        FacebookJsonRestClient facebook = new FacebookJsonRestClient( FB_APP_API_KEY, FB_APP_SECRET, FB_SESSION_KEY );

        //FacebookJsonRestClient facebookClient2 = (FacebookJsonRestClient)facebook.getFacebookRestClient();
        FacebookJsonRestClient facebookClient = (FacebookJsonRestClient)facebook;
        facebookClient.stream_publish(message, null, null, null, null);

            System.out.println("successfully updated");

    }
}


!!! Das hier ist mein Ansatz, komme aber nicht weiter 🙁
 
Zuletzt bearbeitet von einem Moderator:
1. Man verwendet (fast) nie, [c]new String(...)[/c] (, das zeigt mir, dass du ein Anfänger bist)
2. Die [c]null[/c]s an [c]stream_publish()[/c] sehen auch verdächtig aus
3. Ich gehe davon aus, dass du den User (oder die App) zuerst registrieren musst, um den Session Key zu erhalten
4. Du musst dies AFAIK bei FB als App angemeldet haben, um eine Verbindung herzustellen (siehe API und Secret Key)
 
3. Ich gehe davon aus, dass du den User (oder die App) zuerst registrieren musst, um den Session Key zu erhalten
jo muss er - er muss zulassen, dass deine App posts an seine Pinwannd sendet

4. Du musst dies AFAIK bei FB als App angemeldet haben, um eine Verbindung herzustellen (siehe API und Secret Key)
auch das richtig.

ich kann https://github.com/fernandezpablo85/scribe-java empfehlen, ist als OAuth basierende lib fuer diverse social networks imho die beste
 
@ARadauer: Ja, hab sinnvolle Werte eingetragen 😀


Also, ich hab das jetzt mal anderst versucht, aber ich brauch dazu noch ein Token, ich schick einfach mal diesen Code:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.URL;
import java.net.URLConnection;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpState;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;

import com.google.code.facebookapi.Attachment;
import com.google.code.facebookapi.AttachmentMediaImage;
import com.google.code.facebookapi.FacebookException;
import com.google.code.facebookapi.FacebookJaxbRestClient;
import com.google.code.facebookapi.FacebookJsonRestClient;
import com.google.code.facebookapi.FeedFacebookPhoto;
import com.google.code.facebookapi.Permission;
import com.google.code.facebookapi.TemplatizedAction;
import com.restfb.DefaultFacebookClient;
import com.restfb.FacebookClient;
import com.restfb.types.Page;
import com.restfb.types.User;

public class FacebookConnect
{

public static void main (String a[]) throws FacebookException{

FacebookConnect sfb=new FacebookConnect();
sfb.send("From My App: publish steven on facebook");
}
public void send(String message)throws FacebookException{

String FB_APP_API_KEY = new String("");
String FB_APP_SECRET = new String("6");
//FacebookJaxbRestClient client = new FacebookJaxbRestClient( FB_APP_API_KEY, FB_APP_SECRET );

System.getProperties().put("http.proxyHost", "");
System.getProperties().put("http.proxyPort", "");
System.getProperties().put("https.proxyHost", "");
System.getProperties().put("https.proxyPort", "");

try
{
FacebookClient fb = new DefaultFacebookClient("");




//facebookClient.


/*

System.err.println(token);

String urlS = "http://www.facebook.com/login.php?api_key="
+ FB_APP_API_KEY + "&v=1.0"
+ "&auth_token=" + token;

URL url = new URL (urlS);
URLConnection yc = url.openConnection ();

BufferedReader in = new BufferedReader (new InputStreamReader (
yc.getInputStream ()));
String eingabezeile;
while ((eingabezeile = in.readLine ()) != null)
{
sb.append(eingabezeile).append("\n");
}
in.close ();

System.err.println(sb.toString());

String sessionKey = client.auth_getSession( token );
String sessionKey1 = client.auth_getSession( token );
System.out.println("dfdf");
// obtain temp secret
String tempSecret = client.getSecret();
// new facebook client object
client = new FacebookJaxbRestClient( FB_APP_API_KEY, tempSecret, sessionKey );

System.out.println("Session key is " + sessionKey );
*/

}
catch( Exception e )
{
e.printStackTrace();
}


//FacebookJsonRestClient facebookClient2 = (FacebookJsonRestClient)facebook.getFacebookRestClient();
//FacebookJsonRestClient facebookClient = (FacebookJsonRestClient)facebook;
//facebookClient.stream_publish(message, null, null, null, null);


}
}


Aber irgendetwas funktioniert noch nicht richtig! :/
 
4. Du musst dies AFAIK bei FB als App angemeldet haben, um eine Verbindung herzustellen (siehe API und Secret Key)

Ich bin dort angemeldet, ich hab die Key´s nur rausgelöscht, damit sie nicht jeder sieht!
 
nutzte bitte - wie es bei den Posts schwer zu uebersehen ist - die java tags....

ich kenne die library die du nutzt nicht, aber ich bin mir sicher, dass du ueber

Java:
URL url = new URL (urlS);
URLConnection yc = url.openConnection ();

gewiss keine Verbindung zu facebook bekommen wirst. Facebook benutzt auch OAuth und das muesstest du nutzen - ob das die library von dir anbietet oder wie die das macht.... ist eine andere Frage.


weitere Tipp. "Aber irgendetwas funktioniert noch nicht richtig!" ist leider so gar nix sagend und es wird dir niemand so helfen koennen. Da musst du schon genauer sagen was nun nicht geht und was klappt etc
 
hmmm... ist das kompliziert, hat keiner irgendwie ein Code da, den ich mir vielleicht mal anschauen könnte! Hab vor kurzem die Twitteranbindung gemacht, die funktioniert! Ich weiss nur nicht, warum ich hier meine Schwierigkeiten habe!?
Hat das schon mal jemand gemacht?
 
Java:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.URL;
import java.net.URLConnection;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpState;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;

import com.google.code.facebookapi.Attachment;
import com.google.code.facebookapi.AttachmentMediaImage;
import com.google.code.facebookapi.FacebookException;
import com.google.code.facebookapi.FacebookJaxbRestClient;
import com.google.code.facebookapi.FacebookJsonRestClient;
import com.google.code.facebookapi.FeedFacebookPhoto;
import com.google.code.facebookapi.Permission;
import com.google.code.facebookapi.TemplatizedAction;
import com.restfb.DefaultFacebookClient;
import com.restfb.FacebookClient;
import com.restfb.types.Page;
import com.restfb.types.User;

public class FacebookConnect
{

public static void main (String a[]) throws FacebookException{

FacebookConnect sfb=new FacebookConnect();
sfb.send("From My App: publish steven on facebook");
}
public void send(String message)throws FacebookException{

String FB_APP_API_KEY = new String("");
String FB_APP_SECRET = new String("6");
//FacebookJaxbRestClient client = new FacebookJaxbRestClient( FB_APP_API_KEY, FB_APP_SECRET );

System.getProperties().put("http.proxyHost", "");
System.getProperties().put("http.proxyPort", "");
System.getProperties().put("https.proxyHost", "");
System.getProperties().put("https.proxyPort", "");

try
{
FacebookClient fb = new DefaultFacebookClient("");




//facebookClient.


/*

System.err.println(token);

String urlS = "http://www.facebook.com/login.php?api_key="
+ FB_APP_API_KEY + "&v=1.0"
+ "&auth_token=" + token;

URL url = new URL (urlS);
URLConnection yc = url.openConnection ();

BufferedReader in = new BufferedReader (new InputStreamReader (
yc.getInputStream ()));
String eingabezeile;
while ((eingabezeile = in.readLine ()) != null)
{
sb.append(eingabezeile).append("\n");
}
in.close ();

System.err.println(sb.toString());

String sessionKey = client.auth_getSession( token );
String sessionKey1 = client.auth_getSession( token );
System.out.println("dfdf");
// obtain temp secret
String tempSecret = client.getSecret();
// new facebook client object
client = new FacebookJaxbRestClient( FB_APP_API_KEY, tempSecret, sessionKey );

System.out.println("Session key is " + sessionKey );
*/

}
catch( Exception e )
{
e.printStackTrace();
}


//FacebookJsonRestClient facebookClient2 = (FacebookJsonRestClient)facebook.getFacebookRestClient();
//FacebookJsonRestClient facebookClient = (FacebookJsonRestClient)facebook;
//facebookClient.stream_publish(message, null, null, null, null);


}
}


Sorry, bin den ersten Tag erst hier 🙁
 
Ich hab zwar den weiteren Gesprächsverlauf nicht mehr mitbekommen, aber die Frage mit den Callbacks ist relativ simpel. Callbacks sind Funktionsaufrufe, die durchgeführt werden, sobeit von einem Server (in deinem Fall wohl Gesichtsbuch) in irgendeiner Form eine Meldung kam, z.B. dass der Benutzer nicht zuälssig ist, oder dass die Übertragung der Daten erfolgreich verlief, oder ...
Ein einfacher Aufruf sieht demnach etwa so aus:
Code:
verbinde(erfolgsfunktion, misserfolgsfunktion)
 
Entschuldigung, dass das hier nicht ganz dazu gehört, aber warum benutzt man Google API's für Facebook? Facebook stellt doch auch nix für G+ bereit, oder?
 
Ich suche auch seit einiger Zeit so eine Lösung.
Beim Googlen habe ich verschiedene Forlagen (Librayies) gefunden, mit denen man über die Faceboko API kommuniezieren kann.

Such mal nach fHalo oder RestFB
Viel weiter bin ich allerdings auch noch nicht gekommen

Gruß Lukas
 

Neue Themen


Zurück
Oben