安卓:其他用户无法通过我的Facebook应用提供/分享



我已经创建了Facebook应用程序(用于测试目的)并在公共模式下更改。我可以通过我的应用程序喂养和分享,但其他用户不能这样做,他们得到错误,如

{
  "error": {
    "message": "(#200) The user hasn't authorized the application
     to perform this action",
    "type": "OAuthException",
    "code": 200
  }
}

我还在权限中添加了权限"publish_actions"(我使用了图形API)。

当我第一次登录确认页面时,显示如下消息

以下权限尚未被批准使用,并且不会显示给使用您的应用程序的人:publish_actions(提交它们以进行审查或了解更多)

请在开发者页面分享应用的详细配置步骤。

我的代码:

登录功能
private static final String[] PERMISSIONS ={"publish_actions","email"};
@SuppressWarnings("deprecation")
    public void login()
    {
        sh = getSharedPreferences("mydata", 0);
        String access_token = sh.getString("access_token", null);
        Long expire = sh.getLong("expire", 0);
        if(access_token!=null)
            fb.setAccessToken(access_token);
        if(expire!=0)
            fb.setAccessExpires(expire);
        if(!fb.isSessionValid())
        fb.authorize(this,PERMISSIONS,new DialogListener(){
            @Override
            public void onComplete(Bundle values) {
                // TODO Auto-generated method stub
                Editor e = sh.edit();
                e.putString("access_token", fb.getAccessToken().toString());
                e.putLong("expire", fb.getAccessExpires());
                e.commit();
                Log.d("Token", fb.getAccessToken().toString());
                Log.d("expire",Long.toString(fb.getAccessExpires()));
                Profile();
            }
            @Override
            public void onFacebookError(FacebookError e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void onError(DialogError e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void onCancel() {
                // TODO Auto-generated method stub
            }
        });
    }
//for image post
@SuppressWarnings("deprecation")
    public void ImageandTextupload()
    {
        byte[] data = null;
        Bitmap bi = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
        ByteArrayOutputStream b = new ByteArrayOutputStream();
        bi.compress(Bitmap.CompressFormat.JPEG, 100, b);
        data = b.toByteArray();
        Bundle param = new Bundle();
        param.putByteArray("picture", data);
        param.putString("message", "this is test post");
        param.putString("description", "description");
        param.putString("caption", "caption");
        param.putString("name", "anand");
        param.putString("link","http://google.com");
        sh = getSharedPreferences("mydata", 0);
        String access_token = sh.getString("access_token", null);
        param.putString(Facebook.TOKEN, access_token);
        asyn.request("/"+user_id+"/feed", param, "POST",new RequestListener(){
            @Override
            public void onComplete(String response, Object state) {
                // TODO Auto-generated method stub
                Log.d("Photo_response",response);
            }
            @Override
            public void onIOException(IOException e, Object state) {
                // TODO Auto-generated method stub
            }
            @Override
            public void onFileNotFoundException(FileNotFoundException e,
                    Object state) {
                // TODO Auto-generated method stub
            }
            @Override
            public void onMalformedURLException(MalformedURLException e,
                    Object state) {
                // TODO Auto-generated method stub
            }
            @Override
            public void onFacebookError(FacebookError e, Object state) {
                // TODO Auto-generated method stub
            }},null);
    }

自2014年4月以来,大多数权限(包括publish_actions)必须获得批准才能为其他用户工作。有关流程的信息,请参阅此链接:https://developers.facebook.com/docs/apps/review

看一下变更日志也很重要:https://developers.facebook.com/docs/apps/changelog

相关内容

最新更新