📜  Android 集成LinkedIn API(1)

📅  最后修改于: 2023-12-03 14:59:16.779000             🧑  作者: Mango

Android 集成LinkedIn API

LinkedIn 在全球范围内被广泛使用,是追求专业发展的人们的首选平台。应用程序集成 LinkedIn API,可以使用户切实地体验到 LinkedIn 平台的许多功能。本文将介绍如何在 Android 应用程序中集成 LinkedIn API。

准备

在开始之前,请确保完成以下步骤:

集成步骤
步骤1. 添加依赖项

要开始使用 LinkedIn API,需要将其添加为新的依赖项。在您的 build.gradle 文件(模块级)的 dependencies 部分中添加以下行:

implementation 'com.linkedin.android.sdk:linkedin-sdk:2.0.0'
步骤2. 授权

接下来,您需要获取用户的授权以使用他们的 LinkedIn 资料。对此,我们将使用 LinkedIn SDK 提供的 OAuth2.0 协议。

首先,创建一个 LinkedInAuthorizationListener 实例。 LinkedInAuthorizationListener 接口定义了以下两种方法:

public interface LinkedInAuthorizationListener {
    void onAuthorizationSuccess();
    void onAuthorizationError(LIAuthError error);
}

使用此接口,您可以获取用户是否同意访问使用其 LinkedIn 资料的请求。授权后,您可以从 onAuthorizationSuccess() 方法获取访问 LinkedIn 资料的授权令牌。

创建一个 LinkedInOAuthService 实例,并使用您在 LinkedIn 应用程序中生成的客户端 ID 和客户端秘钥进行初始化。接下来,调用 LinkedInOAuthServiceauthorize() 方法,以弹出一个类似于登录对话框的用户视图,要求用户进行身份验证。

public class LinkedInActivity extends AppCompatActivity {
    private LinkedInOAuthService oAuthService;

    private static final String SCOPE = "r_liteprofile,r_emailaddress";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_linkedin);

        oAuthService = LinkedInOAuthServiceFactory.getInstance()
                .createLinkedInOAuthService(
                        getString(R.string.linkedin_client_id),
                        getString(R.string.linkedin_client_secret),
                        SCOPE,
                        new LinkedInAuthorizationListener() {
                            @Override
                            public void onAuthorizationSuccess() {
                                // 使用授权令牌访问 LinkedIn 资料
                            }

                            @Override
                            public void onAuthorizationError(LIAuthError error) {
                                // 处理错误情况
                            }
                        }
                );

        // 调用 OAuthService 来弹出用于登录的页面
        oAuthService.authorize(this);
    }
}
步骤3. 访问 LinkedIn 资源

通过步骤2,我们成功获取了授权令牌。现在,我们可以使用 OAuth1AccessToken 对象来访问 LinkedIn 资料。以下是如何进行访问的示例:

AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("oauth2_access_token", accessToken.getAccessToken());
asyncHttpClient.get("https://api.linkedin.com/v2/me", params, new AsyncHttpResponseHandler() {
    @Override
    public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
        // 处理成功响应
    }

    @Override
    public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
        // 处理失败响应
    }
});

要使此代码运行,您需要添加以下依赖项:

implementation 'com.loopj.android:android-async-http:1.4.9'
结论

在本文中,我们介绍了集成 LinkedIn API 的步骤。首先,需要创建 LinkedIn 应用程序,并获取必要的 API 凭据。接下来,您需要使用 LinkedIn SDK 提供的 OAuth2.0 协议来获取用户的授权,并使用授权令牌访问其 LinkedIn 资料。

参考文献:

LinkedIn 开发人员文档