无法在Android / Facebook中检索朋友的相册

时间:2014-12-18 00:22:52

标签: android facebook

我尝试使用以下代码检索朋友的相册。我登录的帐户和我试图获得的相册都是测试用户,因此权限不应成为问题。我用朋友选择器检索selectedUsers。但最终我得到了这个错误,

12-18 02:18:32.969: D/error(4182): {HttpStatus: 404, errorCode: 803, errorType: OAuthException, errorMessage: (#803) Some of the aliases you requested do not exist: AaJHRMAiukD_rQWiC-K_RXMEjTWzGjJO-dx6QwonppGEcaNlUL4YKLn80pepf-pXHkrgVNYnPktnH25czlD5eIhkXrtlFN8qQZB1UhhXPEAgAA}

以及getInnerJSONObject行的NullPointerException。

   String grPath = "/"+selectedUsers.get(0).getId()+"/albums";
   RequestAsyncTask req = new Request(Session.getActiveSession(),grPath,null, HttpMethod.GET, new Request.Callback() {

                @Override
            public void onCompleted(Response response) {

                if(null != response.getError()){

                    Log.d("error", response.getError().toString());

                }

                GraphObject responseGraphObject = response.getGraphObject();
                JSONObject json = responseGraphObject.getInnerJSONObject();

                        try {

                            JSONArray jarr = json.getJSONArray("data");

                            for(int i =0;i<jarr.length();i++){

                                String name= jarr.getJSONObject(i).getString("name");


                                String albid= jarr.getJSONObject(i).getString("id");

                          }
                      } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();

                    }
}

1 个答案:

答案 0 :(得分:1)

您是否在2014年4月30日之后创建了自己的应用?如果是这样,那么您使用的是图谱API的2.x版本,并且您无法再获取朋友的照片。您只能访问已登录并授权您的应用的用户的照片。这就是@WizKid引用的内容。

您从selectedUsers.get(0)看到的内容.getID来自taggable_friends端点,它为您提供一次性的混淆String ID,您不应该尝试将其用于标记朋友以外的任何其他内容(比如当你上传照片时)。