📅  最后修改于: 2023-12-03 14:59:16.779000             🧑  作者: Mango
LinkedIn 在全球范围内被广泛使用,是追求专业发展的人们的首选平台。应用程序集成 LinkedIn API,可以使用户切实地体验到 LinkedIn 平台的许多功能。本文将介绍如何在 Android 应用程序中集成 LinkedIn API。
在开始之前,请确保完成以下步骤:
要开始使用 LinkedIn API,需要将其添加为新的依赖项。在您的 build.gradle
文件(模块级)的 dependencies
部分中添加以下行:
implementation 'com.linkedin.android.sdk:linkedin-sdk:2.0.0'
接下来,您需要获取用户的授权以使用他们的 LinkedIn 资料。对此,我们将使用 LinkedIn SDK 提供的 OAuth2.0
协议。
首先,创建一个 LinkedInAuthorizationListener
实例。 LinkedInAuthorizationListener
接口定义了以下两种方法:
public interface LinkedInAuthorizationListener {
void onAuthorizationSuccess();
void onAuthorizationError(LIAuthError error);
}
使用此接口,您可以获取用户是否同意访问使用其 LinkedIn 资料的请求。授权后,您可以从 onAuthorizationSuccess()
方法获取访问 LinkedIn 资料的授权令牌。
创建一个 LinkedInOAuthService
实例,并使用您在 LinkedIn 应用程序中生成的客户端 ID 和客户端秘钥进行初始化。接下来,调用 LinkedInOAuthService
的 authorize()
方法,以弹出一个类似于登录对话框的用户视图,要求用户进行身份验证。
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);
}
}
通过步骤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 资料。
参考文献: