无法使用Facebook sdk for Android登录其他用户

时间:2014-08-31 00:56:42

标签: android android-activity android-facebook facebook-sdk-3.1

我正在使用Android Facebook SDK。我已经编写了下面的代码,以便从我的应用程序将图片发布到用户时间线。问题是图片仅在我登录时上传到我的Facebook帐户,而不是在他们登录时上传到其他用户的帐户。

为什么会这样?我收到错误说"照片上传问题。错误= {HttpStatus:403,errorCode:200,errorType:OAuthException,errorMessage:(#200)权限错误}"

 Session.openActiveSession(Image_UpLoad_Activity.this, true, new Session.StatusCallback() {

              // callback when session changes state
              @Override
              public void call(final Session session, SessionState state, Exception exception) {
                if (session.isOpened()) {

                // make request to the /me API
                  Request.newMeRequest(session, new Request.GraphUserCallback() {

                    // callback after Graph API response with user object
                    @Override
                    public void onCompleted(GraphUser user, Response response) {
                      if (user != null) {
                  //     TextView welcome = (TextView) findViewById(R.id.welcome);
                      //  welcome.setText("Hello " + user.getName() + "! " );
                          Log.d("", " USER THIS " + user.getName());

                          Toast.makeText(getApplicationContext(), user.getName(), 
                                   Toast.LENGTH_LONG).show();




                      }
                    }
                  }).executeAsync();


                  Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(Image_UpLoad_Activity.this, Arrays.asList("publish_actions","manage_pages"));

                  session.requestNewPublishPermissions(newPermissionsRequest);
              request = Request.newUploadPhotoRequest(Session.getActiveSession(),bmp, uploadPhotoRequestCallback);
                 Bundle parameters = request.getParameters(); // <-- THIS IS IMPORTANT
                 parameters.putString("message",Dishname);
                 // add more params here 
                 request.setParameters(parameters);
                 request.executeAsync();

            //();


            ////     





                }
              }



            });

1 个答案:

答案 0 :(得分:1)

您正在以沙盒模式运行您的应用。您可以通过配置信息中心将其提供给所有用户。

  1. 打开developer console
  2. 选择您的应用
  3. 点击状态&amp;评论
  4. 您会找到一个切换按钮,用于在沙箱中打开/关闭您的应用 模式到生产模式。默认情况下,它处于沙盒模式。