将照片发布到Facebook权限Android SDK

时间:2014-06-13 07:34:46

标签: android facebook

我正在尝试将照片发布到facebook for android SDK 当用户点击分享要求登录(如果没有登录)并将照片发布到Facebook墙上时,我不想让用户保持所有我想要的状态

这是我写的代码,但它给出了错误

an attempt was made to request new permissions for a session that has pending request

代码:

Session session = new Session(this);
    Session.setActiveSession(session);

    session.openForPublish(new Session.OpenRequest(this)
    .setCallback(null).setPermissions(permissions));

    Session.NewPermissionsRequest newPermissionsRequest = 
            new Session.NewPermissionsRequest(this, Arrays.asList("publish_actions"))
    .setRequestCode(100);

    Session.openActiveSession(this, true, null)
        .requestNewPublishPermissions(newPermissionsRequest);




    Drawable d = getResources().getDrawable(R.drawable.s0);

    Bitmap bmap = Bitmap.createBitmap(d.getIntrinsicWidth(), d.getIntrinsicHeight(), Config.ARGB_8888);
    ByteArrayOutputStream stream = new ByteArrayOutputStream();

    bmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);

    byte[] byteArray = stream.toByteArray();

    Bundle params = new Bundle();

    params.putByteArray("picture", byteArray);
    params.putString("message", "");

    Request request = new Request(Session.getActiveSession(), "me/photos",params, 
             HttpMethod.POST);

    request.setCallback(new Request.Callback() {

        @Override
        public void onCompleted(Response response) {
            if (response.getError()==null) {
                Toast.makeText(getApplicationContext(), "Successfully posted photo", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(getApplicationContext(), response.getError().getErrorMessage(), Toast.LENGTH_SHORT).show();
            }

        }
    });
    request.executeAsync();

1 个答案:

答案 0 :(得分:0)

你可以使用Facebook SDK进行与facebook相关的任何事情.. SDK可以在facebook网站上找到..

Facebook SDk for Android