У меня есть простой API и простой стол, работающий на Azure Mobile Services. Для обоих из них требуется аутентификация для доступа. Я также установил Google Authentication. Теперь, когда я пытаюсь подключиться к Mobile Service с помощью приложения Android, я получаю WebView на странице входа в Google, в то время как я уже аутентифицировал пользователя при запуске приложения. Я выполнил следующее руководство по настройке аутентификации на android и проверил проводку одного объекта в таблицу.Azure Mobile Services для родных пользователей Android
Вот мой код для аутентификации и добавления к таблице. Также данные не вставляются в таблицу после входа в систему с использованием этого WebView. Он не работает без каких-либо ошибок или предупреждений.
Создание клиента. На портале Azure нет ключа API, и я прочитал here, что сейчас не требуется. Но SDK не обновляется, поэтому я передал пустую строку.
try {
mClient = new MobileServiceClient(
"https://memoriesapp.azurewebsites.net",
"",
this
);
} catch (MalformedURLException e) {
e.printStackTrace();
}
final MobileServiceTable<Trip> mTripTable = mClient.getTable(Trip.class);
// Login using the Google provider.
ListenableFuture<MobileServiceUser> mLogin = mClient.login(MobileServiceAuthenticationProvider.Google);
Futures.addCallback(mLogin, new FutureCallback<MobileServiceUser>() {
@Override
public void onFailure(Throwable exc) {
}
@Override
public void onSuccess(MobileServiceUser user) {
Snackbar.make(findViewById(R.id.new_trip_layout),String.format(
"You are now logged in - %1$2s",
user.getUserId()), Snackbar.LENGTH_LONG);
}
});
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
mTripTable.insert(trip1).get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
return null;
}
}.execute();
Это то, что я получаю, когда я иду к этой деятельности: