领英整合

Linkedin Integration

你好,我有一个集成 linkedin sdk

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "my_package"
        minSdkVersion 17
        targetSdkVersion 22
        versionCode 2
        versionName "1.01"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    signingConfigs {
        sdkTest {
            storeFile file("/home/xx/Escritorio/android-studio/bin/app.jks")
            storePassword "1234567"
            keyAlias "Package Hash"
            keyPassword "1234567"
        }

        release {
             storeFile file("/home/xx/Escritorio/android-studio/bin/app.jks")
            storePassword "1234567"
            keyAlias "Package Hash"
            keyPassword "1234567"
        }
    }
}
buildscript {
    repositories {
        mavenCentral()
    }
}
allprojects {
    repositories {
        mavenCentral()
    }
}
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile project(':linkedin-sdk')
}

并修正了这个错误

 E/LINKEDING ERROR 1﹕ {
    "errorCode": "INVALID_REQUEST",
    "errorMessage": "either bundle id or package name \/ hash are invalid, unknown, malformed"
    }

什么是整合 linkedin 的好方法 如何修复此代码?

我不确定你是否可以进入文件 build.gradle

这有效,但是当用户接受 linkedin auth 时我收到了这个错误

出现此错误可能是因为您用于将您的应用程序与LinkedIn 集成的哈希键是错误的。

我前段时间遇到了同样的问题,发现终端生成的hash key是错误的。您可以使用以下方法通过 java 代码生成哈希键:

public void generateHashkey(){
    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                PACKAGE,
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());

            Log.e("Hash key", ""+Base64.encodeToString(md.digest(),Base64.NO_WRAP));
        }
    } catch (PackageManager.NameNotFoundException e) {
        Log.d(TAG, e.getMessage(), e);
    } catch (NoSuchAlgorithmException e) {
        Log.d(TAG, e.getMessage(), e);
    }
}

在android app

Android Integration of LinkedIn and Login的完整流程可以查看以下教程