android - Android 中的 Facebook 请求问题

标签 android facebook request

我正在使用 facebook-android-sdk 将消息发布到我的墙上。

以下请求:

Bundle params = new Bundle();

params.putString("message", "test message");

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

返回下面显示的警告,尽管消息正确显示在墙上。

将消息转换为字节时,如 Stackoverflow 上的类似问题所示:

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

Key message 不再有警告,帖子显示在 Facebook 墙上,但没有消息。

怎么了?

谢谢。

警告:

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)

最佳答案

这是 facebook SDK 中的错误,请参阅 this answer进行修复。

关于android - Android 中的 Facebook 请求问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5297654/

相关文章:

javascript - Angular 7 : How to increase the time of an angular request

android - android 上的 phonegap 说 : Not allowed to load local resource: file:///android_asset/www/app/fb. js

c# - 如何从 Xamarin 移动应用程序以编程方式生成 PDF 文件

java - WebView 中的 Youtube 视频无法自动播放

facebook - 我们可以使用 graph api v2.3 获取 Facebook 中帖子的分享次数吗?

facebook - 我如何使用音乐小部件将 grooveshark 音乐 url 分享到 facebook?

php - 取消授权页面选项卡通知

java - 将属性放回到java中的请求中

python - 为什么即使运行,我也有一个elasticsearch modulenotfounderror?

android - 为什么在尝试写入数据库时​​出现此错误?