Problem with Facebook request in Android

I use facebook-android-sdk to post to my wall.

The following query:

Bundle params = new Bundle(); params.putString("message", "test message"); mAsyncRunner = new AsyncFacebookRunner(mFacebook); mAsyncRunner.request("me/feed", params, "POST", new PostRequestListener(), null); 

returns the warnings shown below, although the message displays correctly on the wall.

When converting a message to bytes, as shown in similar questions in Stackoverflow:

 params.putByteArray("message", "test message".Bytes()); 

there are no more warnings for the Key message, and the message appears on the Facebook wall, but without the message.

What's wrong?

Thanks.

Warnings:

 03-14 11:35:01.635: WARN/Bundle(9963): Key message expected byte[] but value was a java.lang.String. The default value <null> was returned. 03-14 11:35:01.675: WARN/Bundle(9963): Attempt to cast generated internal exception: 03-14 11:35:01.675: WARN/Bundle(9963): java.lang.ClassCastException: java.lang.String 03-14 11:35:01.675: WARN/Bundle(9963): at android.os.Bundle.getByteArray(Bundle.java:1305) 03-14 11:35:01.675: WARN/Bundle(9963): at com.facebook.android.Util.encodePostBody(Util.java:63) 03-14 11:35:01.675: WARN/Bundle(9963): at com.facebook.android.Util.openUrl(Util.java:182) 03-14 11:35:01.675: WARN/Bundle(9963): at com.facebook.android.Facebook.request(Facebook.java:559) 03-14 11:35:01.675: WARN/Bundle(9963): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253) 03-14 11:35:01.685: WARN/Bundle(9963): Key method expected byte[] but value was a java.lang.String. The default value <null> was returned. 03-14 11:35:01.725: WARN/Bundle(9963): Attempt to cast generated internal exception: 03-14 11:35:01.725: WARN/Bundle(9963): java.lang.ClassCastException: java.lang.String 03-14 11:35:01.725: WARN/Bundle(9963): at android.os.Bundle.getByteArray(Bundle.java:1305) 03-14 11:35:01.725: WARN/Bundle(9963): at com.facebook.android.Util.encodePostBody(Util.java:63) 03-14 11:35:01.725: WARN/Bundle(9963): at com.facebook.android.Util.openUrl(Util.java:182) 03-14 11:35:01.725: WARN/Bundle(9963): at com.facebook.android.Facebook.request(Facebook.java:559) 03-14 11:35:01.725: WARN/Bundle(9963): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253) 03-14 11:35:01.735: WARN/Bundle(9963): Key access_token expected byte[] but value was a java.lang.String. The default value <null> was returned. 03-14 11:35:01.775: WARN/Bundle(9963): Attempt to cast generated internal exception: 03-14 11:35:01.775: WARN/Bundle(9963): java.lang.ClassCastException: java.lang.String 03-14 11:35:01.775: WARN/Bundle(9963): at android.os.Bundle.getByteArray(Bundle.java:1305) 03-14 11:35:01.775: WARN/Bundle(9963): at com.facebook.android.Util.encodePostBody(Util.java:63) 03-14 11:35:01.775: WARN/Bundle(9963): at com.facebook.android.Util.openUrl(Util.java:182) 03-14 11:35:01.775: WARN/Bundle(9963): at com.facebook.android.Facebook.request(Facebook.java:559) 03-14 11:35:01.775: WARN/Bundle(9963): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253) 03-14 11:35:01.785: WARN/Bundle(9963): Key format expected byte[] but value was a java.lang.String. The default value <null> was returned. 03-14 11:35:01.825: WARN/Bundle(9963): Attempt to cast generated internal exception: 03-14 11:35:01.825: WARN/Bundle(9963): java.lang.ClassCastException: java.lang.String 03-14 11:35:01.825: WARN/Bundle(9963): at android.os.Bundle.getByteArray(Bundle.java:1305) 03-14 11:35:01.825: WARN/Bundle(9963): at com.facebook.android.Util.encodePostBody(Util.java:63) 03-14 11:35:01.825: WARN/Bundle(9963): at com.facebook.android.Util.openUrl(Util.java:182) 03-14 11:35:01.825: WARN/Bundle(9963): at com.facebook.android.Facebook.request(Facebook.java:559) 03-14 11:35:01.825: WARN/Bundle(9963): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253) 
+6
android facebook request
source share
2 answers

This is a bug in the facebook SDK, see this answer for a fix.

+6
source share

Same question check facebook post

Ok try this method to post to the wall

 Bundle parameters = new Bundle(); parameters.putString("method", "stream.publish"); parameters.putString("attachment", "{\"name\":\"" + b.getString("title") + "\",\"description\":\"" + desc + "\"}]}"); authenticatedFacebook.dialog(DealCities_View.this, "stream.publish", parameters, new TestUiServerListener()); 
0
source share

All Articles