Fb SDK示例HelloFacebookSampleActivity不起作用?

时间:2014-01-07 09:52:40

标签: android facebook api

我正在使用android中的Fb Sdk。我正在进行导入fb sdk并在here之后进行采样,我也得到像这样的keyhash

 C:\Program Files (x86)\Java\jre7\bin> keytool -exportcert -alias androiddebugkey
 -keystore C:\Users\Duygu\.android\debug.keystore |C:\Users\Duygu\openssl-0.9.8k
_X64\bin\openssl.exe sha1 -binary | C:\Users\Duygu\openssl-0.9.8k_X64\bin\openss
l.exe base64

这是我的app app enter image description here

当我运行HelloFacebookSampleActivity时,我收到此错误keyhash problem并在错误后我的应用程序ID从默认ID更改我得到同样的错误。

我有一些问题:

1)当我尝试HelloFacebookSampleActivity时,我必须更改我的ID中的默认应用ID吗?

2)我正在使用我的密钥哈希,但我也看到了reliase密钥。我现在必须使用reliase键或我的keyhash.I我现在正在做样品。

3)我不明白RELEASE_KEY_ALIAS和路径。我的电脑里有什么?

keytool -exportcert -alias **<RELEASE_KEY_ALIAS>** -keystore **<RELEASE_KEY_PATH**> | openssl sha1 -binary | openssl base64

任何人都可以帮助我吗?我看到所有的帖子,但我不能。

2 个答案:

答案 0 :(得分:1)

你获得哈希的方式有一些问题,我这样得到它,它永远不会失败:

try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.josh.myapp", 
                    PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.d("joshtag", "KeyHash:"+Base64.encodeToString(md.digest(), Base64.DEFAULT));                              
                } 
            } 
        catch (NameNotFoundException e) { } 
        catch (NoSuchAlgorithmException e) { }   

答案 1 :(得分:0)

要运行SDK附带的示例应用,您需要将密钥哈希添加到开发人员设置中:

https://developers.facebook.com/settings/developer/sample-app/