为什么谷歌+;集成不适用于我的Android应用程序?

为什么谷歌+;集成不适用于我的Android应用程序?,android,google-plus,google-play-services,Android,Google Plus,Google Play Services,我下载了最新版本的GooglePlayServices,并包含在我的应用程序中。我生成了调试密钥的SHA1指纹,并在谷歌API控制台中设置它们。我那里只有一个应用程序 我像这样使用Google Plus: googlePlusClient = new PlusClient.Builder(getActivity(), new GooglePlayServicesClient.ConnectionCallbacks() { @Override public void

我下载了最新版本的
GooglePlayServices
,并包含在我的应用程序中。我生成了调试密钥的SHA1指纹,并在
谷歌API控制台中设置它们。我那里只有一个应用程序

我像这样使用Google Plus:

googlePlusClient = new PlusClient.Builder(getActivity(), new GooglePlayServicesClient.ConnectionCallbacks() {
        @Override
        public void onConnected(Bundle bundle) {
            googlePlusClient.loadPeople(new PlusClient.OnPeopleLoadedListener() {

                @Override
                public void onPeopleLoaded(ConnectionResult connectionResult, PersonBuffer persons, String s) {
                    if(connectionResult.isSuccess()) {
                        ArrayList<String> result = new ArrayList<String>();
                        for(Person person : persons) {
                            result.add(person.getId());
                        }
                        // Some actions with the data
                    }
                }
            }, "me");

        }

        @Override
        public void onDisconnected() {

        }
    }, new GooglePlayServicesClient.OnConnectionFailedListener() {
        @Override
        public void onConnectionFailed(ConnectionResult connectionResult) {
            if(connectionResult.hasResolution()) {
                try {
                    connectionResult.startResolutionForResult(getActivity(), REQUEST_GOOGLE_AUTH);
                } catch (IntentSender.SendIntentException e) {
                    e.printStackTrace();
                }
            }
        }
    }).setScopes(Scopes.PLUS_PROFILE).build();
    googlePlusClient.connect();
我仍然得到403错误。以下是这方面的日志:

E/Volley﹕ [907] ot.a: Unexpected response code 403 for https://www.googleapis.com/plus/v1/people/me
D/GooglePlusPlatform﹕ Unexpected response code (403) when requesting: getPerson
I/GooglePlusPlatform﹕ {"code":403,"errors":[{"message":"Access Not Configured","domain":"usageLimits","reason":"accessNotConfigured"}]}

我做错了什么?

好吧,我找到了解决办法。我不知道为什么,但我调试密钥的指纹是错误的。我用这个代码得到它们。希望这对其他人有帮助

    PackageInfo packageInfo = null;
    try {
        packageInfo = getContext().getPackageManager().getPackageInfo(getContext().getPackageName(), PackageManager.GET_SIGNATURES);
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    Signature[] signatures = packageInfo.signatures;
    byte[] cert = signatures[0].toByteArray();
    InputStream input = new ByteArrayInputStream(cert);

    CertificateFactory cf = null;
    try {
        cf = CertificateFactory.getInstance("X509");
    } catch (CertificateException e) {
        e.printStackTrace();
    }
    X509Certificate c = null;
    try {
        c = (X509Certificate) cf.generateCertificate(input);
    } catch (CertificateException e) {
        e.printStackTrace();
    }
    try {
        MessageDigest md = MessageDigest.getInstance("SHA1");
        byte[] publicKey = md.digest(c.getPublicKey().getEncoded());

        StringBuffer hexString = new StringBuffer();
        for (int i=0;i<publicKey.length;i++) {
            String appendString = Integer.toHexString(0xFF & publicKey[i]);
            if(appendString.length()==1)hexString.append("0");
            hexString.append(appendString);
        }
        Log.d("SHA1", "Cer: " + hexString.toString());

    } catch (NoSuchAlgorithmException e1) {
        e1.printStackTrace();
    }
PackageInfo-PackageInfo=null;
试一试{
packageInfo=getContext().getPackageManager().getPackageInfo(getContext().getPackageName(),PackageManager.GET_签名);
}捕获(PackageManager.NameNotFounde异常){
e、 printStackTrace();
}
签名[]签名=packageInfo.signatures;
字节[]证书=签名[0]。toByteArray();
InputStream输入=新的ByteArrayInputStream(证书);
CertificateFactory cf=null;
试一试{
cf=CertificateFactory.getInstance(“X509”);
}捕获(证书例外e){
e、 printStackTrace();
}
X509证书c=null;
试一试{
c=(X509Certificate)cf.generateCertificate(输入);
}捕获(证书例外e){
e、 printStackTrace();
}
试一试{
MessageDigest md=MessageDigest.getInstance(“SHA1”);
字节[]publicKey=md.digest(c.getPublicKey().getEncoded());
StringBuffer hexString=新的StringBuffer();
对于(int i=0;i
    PackageInfo packageInfo = null;
    try {
        packageInfo = getContext().getPackageManager().getPackageInfo(getContext().getPackageName(), PackageManager.GET_SIGNATURES);
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    Signature[] signatures = packageInfo.signatures;
    byte[] cert = signatures[0].toByteArray();
    InputStream input = new ByteArrayInputStream(cert);

    CertificateFactory cf = null;
    try {
        cf = CertificateFactory.getInstance("X509");
    } catch (CertificateException e) {
        e.printStackTrace();
    }
    X509Certificate c = null;
    try {
        c = (X509Certificate) cf.generateCertificate(input);
    } catch (CertificateException e) {
        e.printStackTrace();
    }
    try {
        MessageDigest md = MessageDigest.getInstance("SHA1");
        byte[] publicKey = md.digest(c.getPublicKey().getEncoded());

        StringBuffer hexString = new StringBuffer();
        for (int i=0;i<publicKey.length;i++) {
            String appendString = Integer.toHexString(0xFF & publicKey[i]);
            if(appendString.length()==1)hexString.append("0");
            hexString.append(appendString);
        }
        Log.d("SHA1", "Cer: " + hexString.toString());

    } catch (NoSuchAlgorithmException e1) {
        e1.printStackTrace();
    }