0

私は1つのアプリケーションを実行しています。そのアプリケーションでは、ダイアログボックスを開かずにFacebookのウォールにメッセージを投稿したいと思います。

私の完全なFacebookの壁の郵便番号:

Facebook mFacebook = new Facebook("xxxxxxxxxxxxxxxx");//MY APP ID
        Log.d("Tests", "Testing graph API wall post");
        try {
            String response = mFacebook.request("xxxxxxx");//USER ID
            Bundle parameters = new Bundle();
            parameters.putString("message", "hi hi hi");
            parameters.putString("description", "test test test");
            response = mFacebook.request("xxxxxxxx/feed", parameters,"POST");
            if (response == null || response.equals("") || 
                    response.equals("false")) {
                Log.v("Error", "Blank response");
            }
        } catch(Exception e) {
            e.printStackTrace();
        } 

エラーを示すこのコード、

logcatエラー:

10-27 23:19:53.369: WARN/System.err(9330): java.net.MalformedURLException: Protocol not found: me?format=json
10-27 23:19:53.369: WARN/System.err(9330):     at java.net.URL.<init>(URL.java:273)
10-27 23:19:53.369: WARN/System.err(9330):     at java.net.URL.<init>(URL.java:157)
10-27 23:19:53.369: WARN/System.err(9330):     at com.whitehorse.Facebook.Util.openUrl(Util.java:151)
10-27 23:19:53.369: WARN/System.err(9330):     at com.whitehorse.Facebook.Facebook.request(Facebook.java:564)
10-27 23:19:53.369: WARN/System.err(9330):     at com.whitehorse.Facebook.Facebook.request(Facebook.java:500)
10-27 23:19:53.369: WARN/System.err(9330):     at com.whitehorse.birthdayreminder.DetailsPage.PostMessageToWall(DetailsPage.java:202)
10-27 23:19:53.369: WARN/System.err(9330):     at com.whitehorse.birthdayreminder.DetailsPage.access$1(DetailsPage.java:197)
10-27 23:19:53.369: WARN/System.err(9330):     at com.whitehorse.birthdayreminder.DetailsPage$3.onClick(DetailsPage.java:149)
10-27 23:19:53.369: WARN/System.err(9330):     at android.view.View.performClick(View.java:2485)
10-27 23:19:53.369: WARN/System.err(9330):     at android.view.View$PerformClick.run(View.java:9080)
10-27 23:19:53.369: WARN/System.err(9330):     at android.os.Handler.handleCallback(Handler.java:587)
10-27 23:19:53.369: WARN/System.err(9330):     at android.os.Handler.dispatchMessage(Handler.java:92)
10-27 23:19:53.369: WARN/System.err(9330):     at android.os.Looper.loop(Looper.java:130)
10-27 23:19:53.369: WARN/System.err(9330):     at android.app.ActivityThread.main(ActivityThread.java:3687)
10-27 23:19:53.369: WARN/System.err(9330):     at java.lang.reflect.Method.invokeNative(Native Method)
10-27 23:19:53.369: WARN/System.err(9330):     at java.lang.reflect.Method.invoke(Method.java:507)
10-27 23:19:53.379: WARN/System.err(9330):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
10-27 23:19:53.379: WARN/System.err(9330):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
10-27 23:19:53.379: WARN/System.err(9330):     at dalvik.system.NativeStart.main(Native Method)

FacebookSDKについてアドバイスをお願いします。

ありがとう、

4

2 に答える 2

2

これは、アプリがダイアログなしで Facebook ウォールにメッセージを投稿するために使用したコードです。

Facebook facebook = new Facebook(MY_APP_ID);
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
Bundle params = new Bundle();
params.putString("caption", "My Caption");
params.putString("description", "description here");
params.putString("picture", "http://nyan-cat.com/images/nyan-cat.gif");
params.putString("name", "name string");
params.putString("message", "my message here");
mAsyncRunner.request("me/feed", params, "POST", new RequestListener() {
    @Override
    public void onFacebookError(FacebookError e, final Object state) {
        Log.e("Facebook", e.getMessage());
        e.printStackTrace();
    }

    @Override
    public void onFileNotFoundException(FileNotFoundException e, final Object state) {
        Log.e("Facebook", e.getMessage());
        e.printStackTrace();
    }

    @Override
    public void onIOException(IOException e, final Object state) {
        Log.e("Facebook", e.getMessage());
        e.printStackTrace();
    }

    @Override
    public void onMalformedURLException(MalformedURLException e, final Object state) {
        Log.e("Facebook", e.getMessage());
        e.printStackTrace();
    }

}
于 2012-10-27T19:06:35.440 に答える
1
Facebook facebook = new Facebook(APP_ID);
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
Bundle params = new Bundle();
Bundle params = new Bundle();
params.putString("message", Message);
String resp= "";
try {
    resp = mAsyncRunner.request("me/feed", params, "POST");
/*
There are not only one request function in the SDK.(with different parameter)
Try the read the source code in the SDK. 
There are brief remarks on each function and parameters.
You can post wall with above request function and get the postID with the following code.
*/
} catch (FileNotFoundException e) {
} catch (MalformedURLException e) {
} catch (IOException e) {
}
try{
    resp = new JSONObject(resp).getString("id");//POST ID Here
}catch(JSONException e1){
}
};
于 2012-10-29T03:41:26.353 に答える