Tutorial

Select the API you want to start with:

Use OAuth API with Salesforce

1. Sign up for an Apigee Free account or Sign in.

2. Create an application on Apigee.com

  1. Click on: https://apigee.com/oauth_api
  2. Click on the Add App button to launch the setup form.
  3. Name your OAuth API App.
  4. Confirm that the Base URL is what you want for your app.(You’ll make all API calls through this URL.).
  5. Click Create Base URL

3. Add Salesforce to your App

  1. At Apigee OAuth API app setup form...
  2. Select Saleseforce/Chatter from the API Providers dropdown
  3. Copy the callback URL, you’ll need this for Salesforce
  4. View details of setting remote access with Salesforce (opens in new window)
  5. Click http://developer.force.com to launch a new window/tab with Salesforce.
  6. Copy your Salesforce App Consumer Key and paste it into the Apigee OAuth API setup form.
  7. Copy your Salesforce App Consumer Secret and paste it into the Apigee OAuth API setup form.
  8. Click Finish for your OAuth API App.
  9. When you return to the OAuth API apps list page, make a note of your Base URL, you'll need this later.

4. Add a User for your App

Every user of your app gets a unique token, called a SmartKey. Every time you create a user, you get a SmartKey in return. Apigee will associate Salesforce credentials with that SmartKey.

So now you'll create your first user. The fastest way is to use the Apigee Console to make an API request to the OAuth API. This will help teach you how to use the OAuth API so that when you're ready, you can build support for adding user into your app.

  1. In the Console
  2. Click on the Service dropdown and select the base URL: https://{appname}-api.apigee.com/v1
  3. Choose the expand method list icon and select the Create User method from the Managing Users group
  4. On the Template tab, supply your app name as the value
  5. One the Body tab and supply the values for userName, fullName, and password
  6. Send your request
  7. Expect a response that looks like the following: applicationUserId: 322, fullName: "Demo User1", smartKey: "4ec64ef1-7361-456e-95cf-562ed39fddd3", userName: "demouser1", appName: "apigeedemoapp"
  8. Make a note of the SmartKey value you get from the Console. You’ll use that next.

Authenticate a user with Salesforce

  1. Open a new browser window
  2. Assemble the AuthURL for Salesforce. Copy and paste this into the location bar: https://REPLACE_WITH_YOUR_APPNAME-api.apigee.com/v1/providers/salesforce/authorize?smartkey=PASTE_SMARTKEY
  3. Change the appname to your appname in the URI.
  4. Change the smartkey for a user that has been authorized with Salesforce on the end of the URI.
  5. Hit return to submit the URL. (You'll be redirected to Salesforce)
  6. After signing in with Salesforce and authorizing the app to access Salesforce, you’re done.
  7. That’s it! All of the credential updating for your user is done behind the scenes in the Apigee Gateway.

5. Use the SmartKey to make authenticated requests.

Make an authenticated Salesforce request to the Accounts Describe method

  1. Open a new browser window.
  2. Start with the Accounts Describe method. Copy and paste it into your location bar: https://REPLACE_WITH_YOUR_APPNAME-api.apigee.com/v1/salesforce/services/data/v20.0/sobjects/Account/describe?smartkey=PASTE_SMARTKEY
  3. Change the appname to your appname in the URI.
  4. Change the smartkey for a user that has been authorized with Salesforce on the end of the URI.
  5. Hit return to submit the URL.
  6. You’ll see the JSON of a Salesforce Accounts Describe request, without any of the mess with OAUTH.
  7. Any other Salesforce call can be made with a smartkey by following the pattern above.