10 votes

comment accéder à facebook ou twitter en utilisant l'API blackberry ?

Je suis novice dans ce type d'intégration d'applications de réseaux sociaux utilisant l'API Blackberry.

Je veux développer ce type d'application qui peut utiliser l'intégration du site de réseau social facebook ou twitter en utilisant l'api blackberry disponible.

comment accéder à faceBook en utilisant l'API blackberry ? Y a-t-il un service web disponible de facebook sur lequel l'API de blackberry peut fonctionner et accéder ? Existe-t-il une application avec un code source complet pour accéder à Facebook en utilisant l'API Blackberry ?

Si quelqu'un a une solution, un lien utile ou un extrait de code, je vous en remercie.)

Merci, Mishal

8voto

JustinD Points 923

Facebook propose une API basée sur les services Web que vous pouvez utiliser. Vous trouverez des informations à ce sujet ici :

http://wiki.developers.facebook.com/index.php/Platform_Basics

Je recommande vivement d'utiliser le Sun Java Wireless Toolkit (Sun Java Wireless Toolkit 2.5.2_01 for CLDC disponible ici : Boîte à outils SJW ) - utilisez l'application Utilities une fois installée et ensuite le "Stub Generator" - il créera des classes J2ME et des stubs pour tous les appels de services web que vous pouvez ensuite introduire dans votre projet BlackBerry. Je l'ai utilisé sans faute pour appeler des services web à partir du BlackBerry et c'est beaucoup plus facile que de créer vos propres wrappers d'appel de service web. Tout sera fortement typé et tous les objets et classes nécessaires seront créés pour vous.

7voto

Max Gontar Points 20410

BlackBerry FaceBook Connect

Voir l'exemple de code fourni par Eki Y. Baskoro : Facebook Connect sur Blackberry

Voici un petit guide pratique sur l'utilisation de Facebook Connect sur Blackberry. J'ai créé une simple façade encapsulant l'API REST de Facebook et j'ai ajouté une approche MVC "brute" pour la navigation à l'écran. J'ai testé sur JDE 4.5 en utilisant le simulateur 8320. Il s'agit toujours d'un travail en cours et tous les travaux sont sous licence GPL.

BlackBerry Twitter Connect

Et en parlant de twitter il existe un api twitter et client j2me opensource - jibjib à regarder.
Échantillon au statut de poste :

 class Scr extends MainScreen implements FieldChangeListener {
    BasicEditField musername;
    BasicEditField mPassword;
    BasicEditField mStatus;
    ButtonField mUpdateStatus;

    public Scr() {
        add(musername = new BasicEditField("username: ", ""));
        add(mPassword = new BasicEditField("password: ", ""));
        add(mStatus = new BasicEditField("status: ", ""));
        mUpdateStatus = new ButtonField(ButtonField.CONSUME_CLICK);
        mUpdateStatus.setLabel("update status");
        mUpdateStatus.setChangeListener(this);
        add(mUpdateStatus);
    }

    public void fieldChanged(Field field, int context) {
        if (mUpdateStatus == field) {
            String username = musername.getText().trim();
            String password = mPassword.getText().trim();
            String status = mStatus.getText().trim();
            updateStatus(username, password, status);
        } else {

        }
    }

    void updateStatus(String username, String password, String status) {
        String response = "";
        try {
            String query = "status=" + urlEncode(status);
            String len = String.valueOf(query.length());
            SocketConnection hc = (SocketConnection) Connector
                    .open("socket://twitter.com:80");
            DataOutputStream dout = 
                new DataOutputStream(hc.openOutputStream());
            DataInputStream din = new DataInputStream(hc.openInputStream());
            String userPass = username + ":" + password;
            byte[] encoded = Base64OutputStream.encode(userPass.getBytes(), 0,
                    userPass.length(), false, false);
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            String request = "POST /statuses/update.json HTTP/1.1\r\n"
                    + "Host: twitter.com:80\r\n"
                    + "User-Agent: curl/7.18.0 (i486-pc-linux-gnu) " +
                            "libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 " +
                            "libidn/1.1\r\n"
                    + "Accept: */*\r\n"
                    + "Content-Type: application/x-www-form-urlencoded\r\n"
                    + "Content-Length: " + len + "\r\nAuthorization: Basic "
                    + new String(encoded) + "\r\n\r\n";
            bos.write(request.getBytes());
            bos.write(query.getBytes());
            dout.write(bos.toByteArray());
            dout.flush();
            dout.close();
            byte[] bs = new byte[900];
            din.readFully(bs);
            bos = new ByteArrayOutputStream();
            bos.write(bs);
            din.close();
            hc.close();
            response = bos.toString();
        } catch (Exception ex) {
            System.out.println(ex.getMessage()+" "+response);
        }
    }

    public static String urlEncode(String s) {
        if (s != null) {
            try {
                s = new String(s.getBytes("UTF-8"), "ISO-8859-1");
            } catch (UnsupportedEncodingException e) {
            }
            StringBuffer tmp = new StringBuffer();
            try {
                for (int i = 0; i < s.length(); i++) {
                    int b = (int) s.charAt(i);
                    if ((b >= 0x30 && b <= 0x39) || (b >= 0x41 && b <= 0x5A)
                            || (b >= 0x61 && b <= 0x7A)) {
                        tmp.append((char) b);
                    } else if (b == 0x20) {
                        tmp.append("+");
                    } else {
                        tmp.append("%");
                        if (b <= 0xf) {
                            tmp.append("0");
                        }
                        tmp.append(Integer.toHexString(b));
                    }
                }
            } catch (Exception e) {
            }
            return tmp.toString();
        }
        return null;
    }
}

UPDATE

Twitter API ME lib v.1.8 pour RIM est disponible sur Projet Kenai

1voto

Mike Points 11

La méthode Twitter Basic Auth est dépréciée à partir d'aujourd'hui. Vous devez désormais utiliser la méthode OAuth ...

0voto

Nilanchala Points 2504

Pour vous connecter à Facebook à partir d'un Blackberry en utilisant des applications natives, vous pouvez utiliser le sdk de Facebook pour Blackberry. vous pouvez le télécharger sur github.com en recherchant le sdk de Facebook. il est également fourni avec quelques exemples qui démontrent clairement l'utilisation de l'api de Facebook.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X