Android-不会从Facebook检索用户信息

时间:2016-12-11 14:03:57

标签: android facebook facebook-graph-api info

你好这是代码,它确实检索用户信息,但当我把它变成一个apk时,它不会检索任何用户信息。请帮助:

GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(),
                    new GraphRequest.GraphJSONObjectCallback()
                    {
                        @Override
                        public void onCompleted(JSONObject object, GraphResponse response)
                        {
                            Log.i("LetsMeetFragment" + response.toString());

// imageURL =新网址(“https://graph.facebook.com/”+ userID +“/ picture?width =”+ width +“& height =”+ height); // InputStream inputStream =(InputStream)imageURL.getContent(); // bitmap = getCroppedBitmap(BitmapFactory.decodeStream(inputStream));

                            try
                            {
                                String userID = (String) object.get("id");
                                letsMeetFlow.getUserUpdateRequestObj().setFb_id(userID);
                                BService.setFacebookID(userID);BService.setFacebookConnected(true);
                                PreferenceConnector.writeString(getContext(),ApplicationConstants.FacebookID, userID);


                                String userName = (String) object.get("name");
                                String DOB = (String) object.get("birthday");
                                String Gender = (String) object.get("gender");


                                if (Gender.equalsIgnoreCase("male"))
                                {
                                    manSeletion();
                                }
                                setBODField(DOB);

                                String[] userNamearray = userName.split(" ");
                                if (userNamearray.length > 1)
                                {
                                    String tmpName = "";
                                    for (int i = 0; i < userNamearray.length - 1; i++)
                                    {
                                        tmpName += userNamearray[i] + " ";
                                    }
                                    NameField.setText(tmpName.trim());
                                    LastNameField.setText(userNamearray[userNamearray
                                            .length - 1].trim());

                                }

1 个答案:

答案 0 :(得分:0)

根据我的理解,当您处于调试模式时,您的代码会正常工作,但是当您尝试编译已签名的apk时,代码将停止工作。

这可能是签名哈希,你在facebook上有你的调试密钥的签名哈希,但是当你用你的密钥编译时,哈希会改变

你可以做几件事来检索关键字的哈希值是这个

=~

在启动时调用此代码并检查日志中的哈希值,它将打印一个类似SHA的读取文本:xxxxYourHashxxxxx

复制粘贴此哈希并更新您在Facebook上的哈希值。