Я реализовал логин в моем проекте, и он работал нормально.Но вдруг неделю назад он перестает работать и показывает сообщение об ошибке, что не удалось получить основные данные профиля.Некоторые другие разработчики Android также сталкиваются с той же проблемой, и это также происходит для разработчиков iOS.После отладки я обнаружил, что получаю значение «AccessToken», равное нулю.
Вот мой метод onClick, в этом методе onAuthSuccess вызывается.
binding.framelayoutLinkedin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LISessionManager.getInstance(getApplicationContext()).init(LoginActivity.this, buildScope()
, new AuthListener() {
@Override
public void onAuthSuccess() {
fetchBasicProfileData();
}
@Override
public void onAuthError(LIAuthError error) {
Toast.makeText(context, "Failed to authenticate with LinkedIn. Please try again.", Toast.LENGTH_SHORT).show();
}
}, true);
}
});
onActivityResult
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
LISessionManager.getInstance(getApplicationContext()).onActivityResult(this, requestCode, resultCode, data);
}
buildScope
private static Scope buildScope() {
return Scope.build(Scope.R_BASICPROFILE, Scope.R_EMAILADDRESS, Scope.W_SHARE);
}
А вот метод fetchBasicProfileData в этом onApiError вызывается всякий раз, когда я пытаюсь извлечьданные.
private void fetchBasicProfileData() {
String url = "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,headline,public-profile-url,picture-url,email-address,picture-urls::(original))";
APIHelper apiHelper = APIHelper.getInstance(getApplicationContext());
apiHelper.getRequest(this, url, new ApiListener() {
@Override
public void onApiSuccess(com.linkedin.platform.listeners.ApiResponse apiResponse) {
progressDialog.show();
getFirebaseTokenId();
try {
JSONObject jsonObject = apiResponse.getResponseDataAsJson();
String fullName = jsonObject.getString("firstName") + " " + jsonObject.getString("lastName");
getLoginLinkedIn(jsonObject.getString("id"), fullName,
userToken, jsonObject.getString("emailAddress"), "1",
jsonObject.getString("pictureUrl"));
// Toast.makeText(context, jsonObject.getString("pictureUrl"), Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onApiError(LIApiError liApiError) {
Log.e("", "Fetch profile Error :" + liApiError.getLocalizedMessage());
Toast.makeText(context, "Failed to fetch basic profile data. Please try again.", Toast.LENGTH_SHORT).show();
}
});
}