88import com .github .scribejava .apis .SalesforceApi ;
99import com .github .scribejava .apis .salesforce .SalesforceToken ;
1010import com .github .scribejava .core .builder .ServiceBuilder ;
11+ import com .github .scribejava .core .model .OAuth2AccessToken ;
1112import com .github .scribejava .core .model .OAuthRequest ;
1213import com .github .scribejava .core .model .Response ;
1314import com .github .scribejava .core .model .Verb ;
@@ -66,13 +67,21 @@ public static void main(String... args) throws IOException, NoSuchAlgorithmExcep
6667
6768 // Trade the Request Token and Verifier for the Access Token
6869 System .out .println ("Trading the Request Token for an Access Token..." );
69- final SalesforceToken accessToken = (SalesforceToken ) service .getAccessToken (codeEncoded );
70+
71+ final OAuth2AccessToken accessToken = service .getAccessToken (codeEncoded );
72+ final SalesforceToken salesforceAccessToken ;
73+ if (accessToken instanceof SalesforceToken ) {
74+ salesforceAccessToken = (SalesforceToken ) accessToken ;
75+ } else {
76+ throw new IllegalStateException ("Salesforce API didn't return SalesforceToken." );
77+ }
7078 System .out .println ("Got the Access Token!" );
71- System .out .println ("(if your curious it looks like this: " + accessToken + ", 'rawResponse'='"
79+
80+ System .out .println ("(if your curious it looks like this: " + salesforceAccessToken + ", 'rawResponse'='"
7281 + accessToken .getRawResponse () + "')" );
7382 System .out .println ();
7483
75- System .out .println ("instance_url is: " + accessToken .getInstanceUrl ());
84+ System .out .println ("instance_url is: " + salesforceAccessToken .getInstanceUrl ());
7685
7786 // Now let's go and ask for a protected resource!
7887 System .out .println ("Now we're reading accounts from the Salesforce org (maxing them to 10)." );
@@ -81,7 +90,7 @@ public static void main(String... args) throws IOException, NoSuchAlgorithmExcep
8190 final String queryEncoded = URLEncoder .encode ("Select Id, Name from Account LIMIT 10" , "UTF-8" );
8291
8392 // Building the query URI. We've parsed the instance URL from the accessToken request.
84- final String url = accessToken .getInstanceUrl () + "/services/data/v36.0/query?q=" + queryEncoded ;
93+ final String url = salesforceAccessToken .getInstanceUrl () + "/services/data/v36.0/query?q=" + queryEncoded ;
8594
8695 System .out .println ();
8796 System .out .println ("Full URL: " + url );
0 commit comments