簡體   English   中英

Android將消息發布到Facebook Wall,而沒有打開對話框?

[英]Android Post Message to Facebook Wall Without Open DialogBox?

我正在做一個應用程序,在該應用程序中,我想在不打開對話框的情況下將消息發布到Facebook牆。

我完整的Facebook Wall郵政編碼:

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)

請提供有關Facebook SDK的一些建議,

謝謝,

這是我用於應用程序的代碼,用於將消息發布到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();
    }

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM