android – 无法在实际设备上检索Facebook的访问令牌

前端之家收集整理的这篇文章主要介绍了android – 无法在实际设备上检索Facebook的访问令牌前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的项目中整合了Facebook,一切都在仿真器上.当在真实的设备上运行它不工作.我认为问题是Facebook的访问令牌,我现在不知道该怎么办?所以我无法在真实设备上检索朋友的信息.任何人都可以帮助我如何在实际设备上获取访问令牌.

我只使用Android SDK来获取Facebook的朋友信息.

mFacebook = new Facebook("api_id");
mFacebook.authorize(this,new String[] {
    "publish_stream","read_stream","offline_access","friends_birthday","user_birthday","email","read_friendlists","manage_friendlists"
},this);
sToken = mFacebook.getAccessToken();
public void onComplete(Bundle values) {
    Log.e("oncomplete","value");
    if (values.isEmpty()) {
        Log.e("oncomplete","value is empty");
        return;
    }
    if (!values.containsKey("POST")) {
        sToken = mFacebook.getAccessToken();
        getFriends()
    }
}
private void getFriends() {
    try {
        sToken = mFacebook.getAccessToken();
        StaticUtils.sResponseId = mFacebook.request("me/friends");
        Log.w("response",StaticUtils.sResponseId);
        try {
            JSONObject jObj = Util.parseJson(StaticUtils.sResponseId);
            JSONArray jArr = jObj.getJSONArray("data");
            for (int i = 0; i < jArr.length(); i++) {
                JSONObject jObjFren = jArr.getJSONObject(i);
                Iterator it = jObjFren.keys();
                while (it.hasNext()) {
                    String s = (String) it.next();
                    // Log.w("KEY",s);
                    String sname = jObjFren.getString(s);
                    if (s.equals("id")) {
                        StaticUtils.sFbId.add(sname);
                        StaticUtils.sFbPics.add(StaticUtils.sImgUrl + sname + "/picture");
                    } else if (s.equals("name")) {
                        StaticUtils.sFbName.add(sname.toLowerCase());
                    }
                }
            }
        } catch (JSONException e) {
            Log.w("json exception",e.toString());
        } catch (FacebookError e) {
            Log.w("facebook exception",e.toString());
        }
    } catch (MalformedURLException e) {
        Log.w("malformed exception",e.toString());
    } catch (IOException e) {
        Log.w("io exception",e.toString());
    }
}

谢谢,
Ammu

解决方法

上面的代码是绝对正确的…问题是如果我们已经在我们的设备中安装了任何升级版本的任何Facebook应用程序,而不是使用我们的应用程序将无法正常工作…如果我们在设备中卸载了facebook应用程序将工作…还有另一种方法可以通过以下步骤在我们的设备中处理我们的应用程序和其他Facebook应用程序:::
如果你使用eclipse然后goto

Windows>首选项> Android>构建并获取调试密钥库的路径

现在打开终端并运行以下命令

keytool -export -alias androiddebugkey -keystore“debug keystore path”| openssl sha1 -binary | openssl enc -a -e

它会要求密码,然后输入android作为ur密码
现在,将HASH KEY添加到位于@ http://www.facebook.com/developers/的Facebook API配置中
在编辑设置/移动和设备屏幕下.

现在我能够在HTC设备上运行我的应用程序

原文链接:https://www.f2er.com/android/313603.html

猜你在找的Android相关文章