var customApi =plugins.oauth.customApi("https://example.com/oauth2/default/v1/authorize",//authorization base url"https://example.com/oauth2/default/v1/token"); //access token endpointcustomApi = customApi.plugins.oauth.serviceBuilder("0lqd1s0aw...") //client/application ID.clientSecret("bIk6163KHi...") //client secret.state("secret123337") //anti forgery session state, required by the Facebook api.deeplink("deeplink_method") //OPTIONAL deeplink method name or last part of your redirect URL, see docs//if missing, a global method with the name 'deeplink_svy_oauth' will be generated.callback(myFunction,30) //see function below, timeout is 30 seconds.build(customApi); //the custom api created abovefunctionmyFunction(result, auth_outcome) {if (result){//SUCCESSvar service = auth_outcome;if (service.getAccessToken() ==null) return;var response =service.executeGetRequest("https://graph.facebook.com/v2.11/me");if (response.getCode() ==200) {application.output(response.getBody());var json =response.getAsJSON();application.output("Name is "+json.name); }else {application.output('ERROR http status '+response.getCode()); }else {//ERRORapplication.output("ERROR "+auth_outcome);//could not get access token, request timed out, etc.. } }}
Creates an OAuth service that can be used to obtain an access token and access protected data.
This method will be deprecated in the following versions, the preferred way is plugins.oauth.serviceBuilder with a callback function.
Parameters
Stringprovider an OAuth provider id, see plugins.oauth.OAuthProviders
var clientId ="";var clientSecret ="";var scope =null;var state ="secret123337";var callback ="deeplink";service = plugins.oauth.getOAuthService(plugins.oauth.OAuthProviders.FACEBOOK, clientId, clientSecret, null, state, callback, null)
application.showURL(service.getAuthorizationURL());functiondeeplink(a,args) {service.setAccessToken(args.code);var response =service.executeGetRequest("https://graph.facebook.com/v2.11/me");if (response.getCode() ==200) {application.output(response.getBody());var json =response.getAsJSON();application.output("Name is "+json.name); }else {application.output('ERROR http status '+response.getCode()); } }
getUsedRedirectUrl(builder)
Help method to get the redirect URL which needs to be configured on the OAuth provider application page.
The url is computed based on what is set on the service builder: deeplink method name, response mode and response type.
plugins.oauth.serviceBuilder("0lqd1s0aw...") //client/application ID.clientSecret("bIk6163KHi...") //client secret.defaultScope("email") //ask permission to get the user email.state("secret123337") //anti forgery session state, required by the Facebook api.deeplink("deeplink_method") //OPTIONAL deeplink method name or last part of your redirect URL, see docs//if missing, a global method with the name 'deeplink_svy_oauth' will be generated.callback(myFunction,30) //see function below, timeout is 30 seconds.build(plugins.oauth.OAuthProviders.FACEBOOK);functionmyFunction(result, auth_outcome) {if (result){//SUCCESSvar service = auth_outcome;if (service.getAccessToken() ==null) return;var response =service.executeGetRequest("https://graph.facebook.com/v2.11/me");if (response.getCode() ==200) {application.output(response.getBody());var json =response.getAsJSON();application.output("Name is "+json.name); }else {application.output('ERROR http status '+response.getCode()); }else {//ERRORapplication.output("ERROR "+auth_outcome);//could not get access token, request timed out, etc.. } }}