В примере OutlookQuickStart для Android отлично работает в первом запросе после входа в систему().
Теперь я хочу, чтобы поддерживать подключение к этому пользователю и продолжать проверку новых писем.
Как я могу использовать токен доступа и построить запрос для проверки новых писем?
Должен ли я сохранить токен доступа, обновить токен?
Как я могу обновить токен в Android, если он истек.Как использовать токен доступа для будущего запроса и как обновить токен доступа Android Outlook API
Как использовать токен доступа для будущего запроса и как обновить токен доступа Android Outlook API
ответ
В соответствии с документацией для библиотеки auth по адресу https://github.com/AzureAD/azure-activedirectory-library-for-android, библиотека кэширует токен и обновляет токен для вас. Таким образом, вы бы просто использовали acquireTokenSilentSync
, чтобы получить токен каждый раз, когда вам это нужно. Эта функция вернет текущий токен из кеша, если он все еще действителен, и обновит его, если он истек.
ОБНОВЛЕНИЕ: Я внимательно рассмотрел образец, который вы используете, и используемый в нем SDK Outlook. Ключевым моментом здесь является объект DependencyResolver
. Вы передаете этот объект в конструктор OutlookClient
. Тогда в любое время, когда вы вызываете вызов API с этим OutlookClient
, он просто вызывает переопределение getCredentials
, которое вы указываете при создании DependencyResolver
.
Так как образец стоит, вы должны иметь возможность совершать несколько вызовов через этот OutlookClient
, не изменяя его вообще. Однако через час, когда токен доступа истекает, вызовы начнут сбой. Исправлением для этого было бы изменить переопределение getCredentials
, чтобы всегда звонить acquireTokenSilentSync
. Что-то вроде:
@Override
public Credentials getCredentials() {
logger.debug("getCredentials in resolver called");
AuthenticationResult result = mAuthContext.acquireTokenSilentSync(
scopes,
getResources().getString(R.string.AADClientId),
UserIdentifier.getAnyUser());
logger.debug("AcquireTokenSilentSync SUCCESS");
logger.debug("Token expires: ", result.getExpiresOn());
logger.debug("Token: ", result.getAccessToken());
return new OAuthCredentials(result.getAccessToken());
}
Caveat:. Я не могу запустить этот код для проверки его из-за проблем с получением на Android эмулятор работает на моей машине Dev :(
Хорошо, да, попробуй. У меня есть: Futures.addCallback (** _ client **. GetMe(). GetMailFolder («inbox»). GetMessages(). Top (5) .read(), new FutureCallback <Список
Со ссылкой Я вставляю (OutlookQuickStart) _authContext.acquireTokenSilentSync (scopes, clientId из adal_settings.xml, и мне не хватает, где получить пользователя UserIdentifier) – Daniel
purchaseTokenSilentSync находится в контексте auth, а не в токене. :) –
- 1. Как использовать токен доступа?
- 2. Обновить токен и токен доступа в facebook API
- 3. gae канальный токен как общий токен доступа
- 4. Как получить токен доступа и токен-ключ доступа?
- 5. Как обновить токен доступа на Spotify SDK для Android?
- 6. Как получить токен доступа?
- 7. Google api refresh_token null и как обновить токен доступа
- 8. Обновить токен и повторно использовать этот токен, чтобы получить новый токен доступа java
- 9. Как обновить токен доступа для API отчетов Google Analytics v3
- 10. Карманный API Токен доступа Запрос
- 11. Токен доступа для Dockerhub
- 12. Как получить токен доступа, используя токен обновления?
- 13. Как обновить токен доступа в параллельной среде?
- 14. Как сохранить токен доступа
- 15. Как вернуть токен доступа?
- 16. Graph API: токен доступа пользователя
- 17. Node.js получить токен доступа
- 18. OAuthException: токен доступа
- 19. Токен доступа для запроса POST для facebook?
- 20. Magento rest api, токен доступа
- 21. Как защитить токен доступа к API JavaScript?
- 22. Linkedin API недействительный токен доступа
- 23. Как использовать токен доступа в модулях?
- 24. Как обновить токен доступа пользователя с помощью почтового запроса?
- 25. Токен доступа в vkontakte api
- 26. Как использовать токен доступа к любимому файлу
- 27. Как получить токен доступа Yelp
- 28. Как использовать токен доступа в Loopback?
- 29. Обновить токен для токена доступа Google API: R-код
- 30. Как получить токен доступа? (Reddit API)
Можете ли вы предоставить ссылка на этот быстрый старт? –
https://github.com/OfficeDev/Outlook-SDK-Android – Daniel
Я видел, что _client имеет данные для вызова будущего запроса, как его сохранить? для повторного использования в службе? – Daniel