当前位置: 首页 > 知识库问答 >
问题:

Android-不从facebook检索用户信息

昌乐生
2023-03-14

您好,这是代码,它确实检索用户信息,但当我将其转换为apk时,它不会检索任何用户信息。请帮忙:

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

//ImageURL=new URL("https://graph.facebook.com/"userID"/图片?宽度="宽度"

                            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个答案

申屠晟
2023-03-14

据我所知,您的代码在调试模式下工作,但当您尝试编译签名apk时停止工作。

这可能是签名哈希,您在facebook上拥有调试密钥的签名哈希,但当您使用密钥编译时,哈希会发生变化

你可以做几件事来检索密钥的哈希值

public void printKeyHash() {
    try {
        PackageInfo info = getPackageManager().getPackageInfo("com.your.package.name.don't.forget.to.chang.this", PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.e("SHA: ", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
}

启动时使用此代码并检查日志中的哈希值,它会打印一个读取的文本,例如SHA: xxxxYourHashxxxxx

复制粘贴此哈希并更新你在facebook上的哈希。

 类似资料:
  • 问题内容: 节点和角度。我有一个MEAN堆栈身份验证应用程序,在其中按如下所述在成功登录时设置JWT令牌,并将其存储在控制器的会话中。通过服务拦截器将JWT令牌分配给config.headers: authservice.js Interceptor(省略了requestError,response和responseError): 现在我想从令牌中获取登录的用户详细信息,我该怎么做?我尝试如下,但

  • 节点和角度。我有一个平均堆栈身份验证应用程序,其中我在成功登录时设置JWT令牌,如下所示,并将其存储在控制器中的会话中。将JWT令牌分配给config。通过服务拦截器的标头: authservice.js拦截器(省略了请求错误、响应和响应错误): 现在我想从令牌中获取登录用户的详细信息,我该怎么做?我尝试了如下,但没有成功。当我记录来自用户的错误时。js文件它说“ReferenceError:未定

  • 我正在尝试使用Microsoft Graph API从AD检索所有用户。 https://graph.microsoft.com/v1.0/users 但是这只是从整个用户列表中返回一些前n行。 我猜它在那里使用了一些分页。但没有找到如何在查询中指定页码或这些详细信息作为参数。 https://learn.microsoft.com/en-us/graph/api/user-list?视图=图形-

  • https://graph.facebook.com/v3.0/me?fields=id,name,posts&access_token={#}

  • 我尝试使用GitHub API和endpoint检索GitHub用户的成员身份详细信息。 我是多个组织的成员,但我得到的回应是: 所以没有为我的用户显示会员信息。我有一个范围为的访问令牌。我错过什么了吗?我在官方API文档https://developer.github.com/v3/orgs/members/#list-your-organization-memberships中也找不到任何相关

  • 问题内容: 我的程序针对Android 1.5。我想检索有关设备本身的系统信息。通过搜索API,我发现很少有有用的类。到目前为止,我发现最好的是该类和一些系统属性。 我希望能够获得如下信息:设备上的内存总量,可用内存量(我不知道该类是否是主动给我的,因为它专门指的是JVM可用的内存)。有关处理器的信息。 这些信息是否可用?如果可以,我在哪里可以找到它? 问题答案: “内存总量”是毫无意义的(例如,