java.net.UnknownHostException:graph.facebook.com

时间:2011-10-26 17:40:42

标签: android facebook exception upload photos

尝试将照片发布到用户墙时,我收到了UnknownHostException。 这是我的代码:

    byte[] data = null;

    Bitmap bi = BitmapFactory.decodeResource(getResources(), aDrawableId);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bi.compress(Bitmap.CompressFormat.JPEG, 70, baos);
    data = baos.toByteArray();

    Bundle parameters = new Bundle();
    parameters.putByteArray("picture", data);
    Log.i(getClass().toString(), parameters.toString());

    AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(this.facebook);
    String method = String.format("me/photos?access_token=%s", this.facebook.getAccessToken());
    mAsyncRunner.request(method, parameters, "POST", new FacebookRequestListener(), null);

我的AndroidManifest文件的权限:

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

之前我遇到了与以下问题相同的问题,并使用第二个答案(最高投票一个)纠正了错误:

Post message to facebook wall from android fb sdk always error

我在logcat中得到的唯一消息是:

10-26 15:29:16.425: E/Facebook(5342): java.net.UnknownHostException: graph.facebook.com

你们对如何解决这个问题有什么想法吗?我在Galaxy S2设备上运行应用程序。

1 个答案:

答案 0 :(得分:1)

我不确定这是否能解决你得到的错误,但我注意到了一些事情:

documentation(在照片连接下)声明图片参数名为 source (而不是图片使用)。

facebook sdk将访问令牌添加到api请求中,因此您不需要这样做(您可以查看source。我不认为它应该是POST请求的问题,但是如果你使用GET,则sdk会在路径中添加“?”,在你的情况下,你最终会得到其中的两个。

您是否设法找到了问题?