\n
For instance, here's a line where it requests \"offline\" access in order to get a refresh token:
\n\n\n
\n
And here's an example of storing the refresh token:
\n\n\n
\n
As long as you supply the necessary credentials, the SDK will then handle the refresh process for you automatically, e.g.:
\n\n","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"postTime":"2022-03-18T10:48:35.219-07:00","lastPublishTime":"2022-03-18T10:48:35.219-07:00","metrics":{"__typename":"MessageMetrics","views":3917},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:101000041/category:101007/category:English/community:mxpez29397board:101000014/message:584555/message:584580","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"MessageEdge","cursor":"MjUuMXwyLjF8aXwzfDUyOjF8aW50LDU4NDU5Miw1ODQ1OTI","node":{"__ref":"ForumReplyMessage:message:584592"}}]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:584592":{"__typename":"ModerationData","id":"moderation_data:584592","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:584592":{"__typename":"ForumReplyMessage","uid":584592,"id":"message:584592","revisionNum":1,"author":{"__ref":"User:user:1477673"},"readOnly":false,"repliesCount":7,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:101000014"},"parent":{"__ref":"ForumReplyMessage:message:584580"},"conversation":{"__ref":"Conversation:conversation:584555"},"subject":"Re: How to automate getting a new token using Java?","moderationData":{"__ref":"ModerationData:moderation_data:584592"},"body":"
Thank you!
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"12","kudosSumWeight":0,"postTime":"2022-03-18T11:14:20.056-07:00","lastPublishTime":"2022-03-18T11:14:20.056-07:00","metrics":{"__typename":"MessageMetrics","views":3924},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:101000041/category:101007/category:English/community:mxpez29397board:101000014/message:584555/message:584592","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"MessageEdge","cursor":"MjUuMXwyLjF8aXwxfDUyOjF8aW50LDU4NDU5Myw1ODQ1OTM","node":{"__ref":"ForumReplyMessage:message:584593"}}]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:584593":{"__typename":"ModerationData","id":"moderation_data:584593","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:584593":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:1477673"},"id":"message:584593","revisionNum":2,"uid":584593,"depth":3,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:101000014"},"parent":{"__ref":"ForumReplyMessage:message:584592"},"conversation":{"__ref":"Conversation:conversation:584555"},"subject":"Re: How to automate getting a new token using Java?","moderationData":{"__ref":"ModerationData:moderation_data:584593"},"body":"I used the top Java program you listed to do the manual approach.
If I understood your reply correctly (a show-stopper), I'm disappointed that there's no total programmatic way to get a new token when expired. We can't expect our users to go to the DB website click here and there, get a new access key, and paste it into the client-side application.
Thanks
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"208","kudosSumWeight":0,"repliesCount":6,"postTime":"2022-03-18T11:28:24.937-07:00","lastPublishTime":"2022-03-18T11:29:26.679-07:00","metrics":{"__typename":"MessageMetrics","views":3918},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:101000041/category:101007/category:English/community:mxpez29397board:101000014/message:584555/message:584593","customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"QueryVariables:MessageSolutions":{"__typename":"QueryVariables","id":"MessageSolutions","value":{"first":10,"constraints":{"topicId":{"eq":"message:584555"},"solution":{"eq":true}},"sorts":{"postTime":{"direction":"ASC"}},"useAvatar":true,"useAuthorLogin":true,"useAuthorRank":false,"useBody":true,"useKudosCount":false,"useTimeToRead":false,"useMedia":true,"useRepliesCount":false,"useSearchSnippet":false,"useAcceptedSolutionButton":true,"useSolvedBadge":false,"useAttachments":true,"useTags":false,"useUserHoverCard":false,"useNodeHoverCard":false,"usePreviewSubjectModal":false,"useMessageStatus":false}},"CachedAsset:text:en_US-components/community/NavbarDropdownToggle-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarDropdownToggle-1740743306814","value":{"ariaLabelClosed":"Press the down arrow to open the menu"},"localOverride":false},"CachedAsset:text:en_US-components/customComponent/CustomComponent-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/customComponent/CustomComponent-1740743306814","value":{"errorMessage":"Error rendering component id: {customComponentId}","bannerTitle":"Video provider requires cookies to play the video. Accept to continue or {url} it directly on the provider's site.","buttonTitle":"Accept","urlText":"watch"},"localOverride":false},"CachedAsset:text:en_US-components/messages/EscalatedMessageBanner-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/messages/EscalatedMessageBanner-1740743306814","value":{"escalationMessage":"Escalated to Salesforce by {username} on {date}","viewDetails":"View Details","modalTitle":"Case Details","escalatedBy":"Escalated by: ","escalatedOn":"Escalated on: ","caseNumber":"Case Number: ","status":"Status: ","lastUpdateDate":"Last Update: ","automaticEscalation":"automatic escalation","anonymous":"Anonymous"},"localOverride":false},"CachedAsset:text:en_US-components/users/UserLink-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/users/UserLink-1740743306814","value":{"authorName":"View Profile: {author}","anonymous":"Anonymous"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/users/UserRank-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/users/UserRank-1740743306814","value":{"rankName":"{rankName}","userRank":"Author rank {rankName}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageTime-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageTime-1740743306814","value":{"postTime":"Published: {time}","lastPublishTime":"Last Update: {time}","conversation.lastPostingActivityTime":"Last posting activity time: {time}","conversation.lastPostTime":"Last post time: {time}","moderationData.rejectTime":"Rejected time: {time}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSolvedBadge-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSolvedBadge-1740743306814","value":{"solved":"Solved"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSubject-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSubject-1740743306814","value":{"noSubject":"(no subject)"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageBody-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageBody-1740743306814","value":{"showMessageBody":"Show More","mentionsErrorTitle":"{mentionsType, select, board {Board} user {User} message {Message} other {}} No Longer Available","mentionsErrorMessage":"The {mentionsType} you are trying to view has been removed from the community.","videoProcessing":"Video is being processed. Please try again in a few minutes.","bannerTitle":"Video provider requires cookies to play the video. Accept to continue or {url} it directly on the provider's site.","buttonTitle":"Accept","urlText":"watch"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageCustomFields-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageCustomFields-1740743306814","value":{"CustomField.default.label":"Value of {name}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageReplyButton-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageReplyButton-1740743306814","value":{"repliesCount":"{count}","title":"Reply","title@board:BLOG@message:root":"Comment","title@board:TKB@message:root":"Comment","title@board:IDEA@message:root":"Comment","title@board:OCCASION@message:root":"Comment"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSolutionList-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSolutionList-1740743306814","value":{"emptyDescription":"No has been message solutions yet"},"localOverride":false},"CachedAsset:text:en_US-components/messages/AcceptedSolutionButton-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/messages/AcceptedSolutionButton-1740743306814","value":{"accept":"Mark as Solution","accepted":"Marked as Solution","errorHeader":"Error!","errorAdd":"There was an error marking as solution.","errorRemove":"There was an error unmarking as solution.","solved":"Solved"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Pager/PagerLoadMore-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Pager/PagerLoadMore-1740743306814","value":{"loadMore":"Show More"},"localOverride":false},"CachedAsset:text:en_US-components/nodes/NodeView/NodeViewCard-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/nodes/NodeView/NodeViewCard-1740743306814","value":{"title":"{nodeTitle} ","creationDate":"Created: {creationDate}","ownedBy":"Owned by: {owners}{text}","showOwnerListText":", and {ownersCount} more","unreadCount":"{count} unread","nodeViewDrawerBtn":"Node view drawer for {place}","drawerActionTooltip":"Show category children"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageView/MessageViewInline-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageView/MessageViewInline-1740743306814","value":{"bylineAuthor":"{bylineAuthor}","bylineBoard":"{bylineBoard}","anonymous":"Anonymous","place":"Place {bylineBoard}","gotoParent":"Go to parent {name}"},"localOverride":false},"ForumReplyMessage:message:584598":{"__typename":"ForumReplyMessage","uid":584598,"id":"message:584598","revisionNum":1,"author":{"__ref":"User:user:1477673"},"readOnly":false},"ModerationData:moderation_data:584600":{"__typename":"ModerationData","id":"moderation_data:584600","status":"APPROVED","rejectReason":null},"AcceptedSolutionMessage:message:584600":{"__typename":"AcceptedSolutionMessage","author":{"__ref":"User:user:10"},"id":"message:584600","revisionNum":1,"uid":584600,"depth":6,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:101000014"},"parent":{"__ref":"ForumReplyMessage:message:584598"},"conversation":{"__ref":"Conversation:conversation:584555"},"subject":"Re: How to automate getting a new token using Java?","moderationData":{"__ref":"ModerationData:moderation_data:584600"},"body":"Yes, that's correct. The SDK client knows how to use the credentials (refresh token, app key, and for the non-PKCE case, app secret) to automatically perform the refresh process whenever needed, so that calls continue to work.
","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":200})@stringLength":"203","postTime":"2022-03-18T11:44:34.136-07:00","lastPublishTime":"2022-03-18T11:44:34.136-07:00","images":{"__typename":"AssociatedImageConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"attachments":{"__typename":"AttachmentConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"solution":true,"metrics":{"__typename":"MessageMetrics","views":3923},"placeholder":false,"originalMessageForPlaceholder":null,"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"isEscalated":null,"entityType":"FORUM_REPLY","eventPath":"category:101000041/category:101007/category:English/community:mxpez29397board:101000014/message:584555/message:584600","customFields":[]},"CachedAsset:text:en_US-shared/client/components/users/UserAvatar-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/users/UserAvatar-1740743306814","value":{"altText":"{login}'s avatar","altTextGeneric":"User's avatar"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/ranks/UserRankLabel-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/ranks/UserRankLabel-1740743306814","value":{"altTitle":"Icon for {rankName} rank"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/nodes/NodeAvatar-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/nodes/NodeAvatar-1740743306814","value":{"altTitle":"Node avatar for {nodeTitle}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/nodes/NodeDescription-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/nodes/NodeDescription-1740743306814","value":{"description":"{description}"},"localOverride":false},"CachedAsset:text:en_US-components/nodes/NodeTopicsCount-1740743306814":{"__typename":"CachedAsset","id":"text:en_US-components/nodes/NodeTopicsCount-1740743306814","value":{"topicCount":"{count}","topicCountWithNeutralLabel@board:OCCASION":"{count, plural, one{# Event} other{# Events}}","topicCountWithNeutralLabel":"{count, plural, one{# Post} other{# Posts}}","topicCount@board:FORUM":"{count, plural, one{# Post} other{# Posts}}","topicCount@board:BLOG":"{count, plural, one{# Post} other{# Posts}}","topicCount@board:CONTEST":"{count, plural, one{# Entry} other{# Entries}}","topicCount@board:GROUP":"{count, plural, one{# Topic} other{# Topics}}","topicCount@board:IDEA":"{count, plural, one{# Idea} other{# Ideas}}","topicCount@board:QANDA":"{count, plural, one{# Question} other{# Questions}}","topicCount@board:TKB":"{count, plural, one{# Article} other{# Articles}}","topicCount@board:OCCASION":"{count, plural, one{# Event} other{# Events}}","title":"{count, plural,one {