Get a Refresh Token
Your Raspberry Pi now has the AVS Device SDK installed and your credentials loaded, but your device still needs a refresh token so your client maintains a connection to the Alexa Voice Service. If you design an Alexa-enabled product and ship a million of them to your customers, they can all use the same Client ID and ProductID - but each individual device will require a unique refresh token to authenticate with AVS through Login With Amazon (LWA).
Normally, your customer gets a refresh token delivered when they activate your (their) device using a companion app, companion site, or code-based linking (CBL). For this tutorial, you're both the device maker and the customer. You use the startsample.sh script to launch the Sample App and request a refresh token for your prototype device.
Start the Sample App
In a terminal window, navigate to the
/home/pi directory and run startsample.sh.
cd /home/pi/ sudo bash startsample.sh
Get your Authorization Code
Once the sample app starts, you'll see a series of rapidly scrolling debug messages in the terminal window stating, Checking for authorization. Scroll through the debug messages and look for a box with a URL, it contains your Alexa authorization code.
Submit your Authorization Code
- Go to amazon.com/us/code. Use any internet-connected device (for example, your phone).
- Log in with your Amazon developer credentials.
- Enter the authorization code, provided by your sample app, into the authorization box.
It might take up to 30 seconds for
CBLAuthDelegate to successfully get a refresh token from Login With Amazon (LWA). You'll get a success message, and your sample app should be ready to go!
Your hard work has paid off, and now it's time to Talk with Alexa!