任何人都有经验或看过这个特殊问题吗?
经过几次调用facebook android sdk发布到一个群组,
Bundle params = new Bundle();
params.putString("message", deviceName);
params.putString("link", link.url);
Request req = new Request(session, "/" + groupId + "/feed", params,
HttpMethod.POST, new Request.Callback() {
我一直遇到错误,直到我退出并重启Android应用程序。被抛出的异常是:
com.facebook.FacebookException: java.io.EOFException
at com.facebook.Response.fromHttpConnection(Response.java:333)
at com.facebook.Request.executeConnectionAndWait(Request.java:1553)
at com.facebook.Request.executeBatchAndWait(Request.java:1452)
....
Caused by: java.io.EOFException
at libcore.io.Streams.readAsciiLine(Streams.java:203)
at libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:579)
at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:827)
看起来与我见过的一些问题非常相似,例如java.io.eofexception。我是facebook android sdk的新手,据我所知,我无法访问底层的http连接,我可以解决这个问题。
任何人都有这种错误的经验(在facebook平台上使用他们的android sdk)??
谢谢, 射线。
答案 0 :(得分:0)
我也有这个问题。 EOF异常必须是FB API中的错误,而不是正确处理某些响应类型。但误导EOF错误的实际原因可能是您的代码中存在错误。
我最终浏览了我的代码,并在我的应用中启用和禁用共享设置时发现了一些错误。在某些情况下我的设置被设置为"分享已启用"即发布到用户时间表。但实际上,该应用程序从未正确获取" publish_actions"权限,或者已被用户撤销。所以我有一个有效的FB会话,但是当我从未在我的会话中获得正确的权限时尝试发布到用户时间线,并且因为我似乎总是得到EOF错误。因此,我说FB API中可能存在错误,它应该提供适当的401或403权限类型响应。
简而言之,在尝试发布到时间轴之前,请确保您确实拥有正确的发布权限。 (升级API时我也遇到了问题," publish_stream"似乎已经重命名为" publish_actions",您可能也想检查一下(虽然我认为错误是更明显)。
到目前为止,这对我有用。祝你好运。