10

私は、Blackberry API を使用したこの種のソーシャル ネットワーキング アプリケーション統合の初心者です。

利用可能なblackberry apiを使用して、facebookまたはtwitterのソーシャル・ネットワーキング・サイトの統合を使用できるようなアプリケーションを開発したいと考えています。

ブラックベリー API を使用して faceBook にアクセスするには? Blackberry API が動作してアクセスできる Facebook の利用可能な Web サービスはありますか? ブラックベリー API を使用して Facebook にアクセスするためのソース コード全体を含むアプリケーションはありますか?

誰かが解決策、有用なリンク、またはコードスニペットを持っている場合は、それをいただければ幸いです.:)

ありがとう、ミシャル

4

4 に答える 4

8

Facebook は、使用できる Web サービス ベースの API を提供しています。それに関する情報は、次の場所で提供されています。

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

Sun Java Wireless Toolkit (Sun Java Wireless Toolkit 2.5.2_01 for CLDC はこちらから入手可能: SJW Toolkit ) を使用することを強くお勧めします。インストール時にユーティリティ アプリケーションを使用し、次に「スタブ ジェネレータ」を使用します。これにより、すべての J2ME クラスとスタブが作成されます。 BlackBerry プロジェクトに取り込める Web サービス呼び出し。BlackBerry から Web サービスを呼び出すために必ずこれを使用しましたが、独自の Web サービス呼び出しラッパーを作成するよりもはるかに簡単です。すべてが厳密に型指定され、必要なオブジェクトとクラスはすべて作成されます。

于 2009-08-27T12:12:06.637 に答える
7

BlackBerry フェイスブック コネクト

Eki Y. Baskoro提供のコード サンプルを参照してください: Blackberry での Facebook Connect

以下は、Blackberry で Facebook Connect を使用するための短い HOWTO です。Facebook REST API をカプセル化する単純な Facade を作成し、画面ナビゲーション用に「大まかな」MVC アプローチを追加しました。8320 シミュレーターを使用して JDE 4.5 でテストしました。これはまだ進行中の作業であり、すべての作業は GPL されています。

BlackBerry Twitter コネクト

Twitterについて言えば、Twitter APIとオープンソースの j2me クライアント - jibjibがあります。
サンプルから投稿までのステータス:

 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;
    }
}

アップデート

RIM 用の Twitter API ME lib v.1.8は、 Project Kenaiで利用できます。

于 2009-10-16T09:12:41.537 に答える
1

Twitter Basic Authメソッドは、本日より非推奨になりました。OAuthを使用する必要があります...

于 2010-09-02T09:56:56.683 に答える
0

ネイティブアプリを使用してブラックベリーからFacebookに接続するには、ブラックベリー用のFacebookSDKを使用できます。github.comからダウンロードできます。FacebookSDKを検索します。また、FacebookAPIの使用法を明確に示すいくつかのサンプルが付属します。

于 2011-09-07T18:57:13.960 に答える