0

我正在使用 Facebook 的 API 使用我的 android 应用程序中的图片创建一个新专辑,但我不断收到这些没有意义的烦人错误。我做了一些研究,但什么也没想到。请帮忙!

String albumName = ((TextView)findViewById(R.id.album_name)).getText().toString();
Bundle params = new Bundle();
params.putByteArray("pictures", toByteArray(mediaPath[0])); 
params.putString("name", albumName);
request.request("https://graph.facebook.com/me/albums",params,"POST", new UploadListener(), new Object());

看看我的日志猫

01-26 15:51:50.501:W/Bundle(616):键格式预期字节 [],但值是 java.lang.String。已返回默认值。01-26 16:07:48.871: D/Facebook-Util(670): POST URL: https://graph.facebook.com/https://graph.facebook.com/me/albums 01-26 16:07:48.891: W/Bundle(670): 键格式预期字节 [] 但值是 java.lang.String。已返回默认值。01-26 16:07:48.891: W/Bundle(670): 尝试转换生成的内部异常: 01-26 16:07:48.891: W/Bundle(670): java.lang.ClassCastException: java.lang.String 01-26 16:07:48.891: W/Bundle(670): 在 android.os.Bundle.getByteArray(Bundle.java:1305) 01-26 16:07:48.891: W/Bundle(670): 在 com. facebook.android.Util.openUrl(Util.java:155) 01-26 16:07:48.891: W/Bundle(670): at com.facebook.android.Facebook.request(Facebook.java:717) 01-26 16:07:48.891: W/Bundle(670): at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253) 01-26 16:07:49.390: D/dalvikvm(670): GC_CONCURRENT 释放 2526K , 57% 免费 4489K/10311K, 外部 5789K/6493K, 暂停 5ms+4ms 01-26 16:07:49.560: W/Bundle(670): 键方法应为 byte[],但值为 java.lang.String。已返回默认值。01-26 16:07:49.560: W/Bundle(670): 尝试转换生成的内部异常: 01-26 16:07:49.560: W/Bundle(670): java.lang.ClassCastException: java.lang.String 01-26 16:07:49.560: W/Bundle(670): 在 android.os.Bundle.getByteArray(Bundle.java:1305) 01-26 16:07:49.560: W/Bundle(670): 在 com. facebook.android.Util.encodePostBody(Util.java:63) 01-26 16:07:49.560: W/Bundle(670): at com.facebook.android.Util.openUrl(Util.java:182) 01-26 16:07:49.560: W/Bundle(670): 在 com.facebook.android.Facebook.request(Facebook.java:717) 01-26 16:07:49.560: W/Bundle(670): 在 com.facebook .android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253) 01-26 16:07:49.570: W/Bundle(670): 键格式预期字节 [] 但值是 java.lang.String。已返回默认值。01-26 16:07:49.570: W/Bundle(670): 尝试转换生成的内部异常: 01-26 16:07:49.570: W/Bundle(670): java.lang.ClassCastException: java.lang.String 01-26 16:07:49.570: W/Bundle(670): 在 android.os.Bundle.getByteArray(Bundle.java:1305) 01-26 16:07:49.570: W/Bundle(670): 在 com. facebook.android.Util.encodePostBody(Util.java:63) 01-26 16:07:49.570: W/Bundle(670): at com.facebook.android.Util.openUrl(Util.java:182) 01-26 16:07:49.570: W/Bundle(670): 在 com.facebook.android.Facebook.request(Facebook.java:717) 01-26 16:07:49.570: W/Bundle(670): 在 com.facebook .android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253) 01-26 16:07:49.610: D/dalvikvm(670): GC_FOR_MALLOC 释放 258K,57% 释放 4445K/10311K,外部 5789K/6493K,暂停 38ms 01- 26 16:07:49.620:我/dalvikvm-heap(670):

4

1 回答 1

1

尝试更换:

params.putByteArray("pictures", toByteArray(mediaPath[0]));

和:

params.putString("pictures", mediaPath[0]);

它显然对 byte[] 不满意,所以这就是我要开始的地方。(假设 mediaPath[] 顾名思义是一个字符串数组。

如果这不起作用,请先尝试创建相册,然后添加图片,在此处查看解决方案以进行相册创建

于 2012-01-26T23:06:28.077 回答