Quick-start sample app for Go

This quick-start sample app is built in Go and lets you get started with the Google+ platform in a few minutes. The app demonstrates:

  • Using the Google+ Sign-In button to get an OAuth 2.0 refresh token.
  • Exchanging the refresh token for an access token.
  • Making Google+ API requests with the access token, including getting a list of people that the user has circled.
  • Disconnecting the app from the user's Google account and revoking tokens.

System requirements

Step 1: Enable the Google+ API

Create a Google API Console project and OAuth 2.0 client ID, then register your JavaScript origins:

  1. Go to the Google API Console .
  2. From the project drop-down, select an existing project , or create a new one by selecting Create a new project.

    Note: Use a single project to hold all platform instances of your app (Android, iOS, web, etc.), each with a different Client ID.

  3. Enable the Google+ API service:
    1. In the list of Google APIs, search for the Google+ API service.
    2. Select Google+ API from the results list.
    3. Press the Enable API button. Wait for the API to be enabled.
    This action adds the service to the Enabled APIs tab, which you can access by selecting APIs & Services on the left menu. You can turn off the Google Cloud services.
  4. In the sidebar under "APIs & Services", select Credentials, then select the OAuth consent screen tab.
    1. Choose an Email Address, specify a Product Name, and press Save.
  5. In the Credentials tab, select the New credentials drop-down list, and choose OAuth client ID.
  6. Under Application type, select Web application.
    Register the origins from which your app is allowed to access the Google APIs, as follows. An origin is a unique combination of protocol, hostname, and port.
    1. In the Authorized JavaScript origins field, enter the origin for your app. You can enter multiple origins to allow for your app to run on different protocols, domains, or subdomains. You cannot use wildcards. In the example below, the second URL could be a production URL.
    2. The Authorized redirect URI field does not require a value. Redirect URIs are not used with JavaScript APIs.
    3. Press the Create button.
  7. From the resulting OAuth client dialog box, copy the Client ID and Client secret. The Client ID lets your app access enabled Google APIs.

Step 2: Set up the Go quick-start app

  1. Get the latest version of the quick-start. One way is to use git to clone the application repository:

    git clone https://github.com/googleplus/gplus-quickstart-go.git

    Or, download the application as a zip file, and extract the quick-start code:

    wget https://github.com/googleplus/gplus-quickstart-go/archive/master.zip -o gplus-quickstart-go.zip
    unzip gplus-quickstart-go.zip
  2. Change directory into the quick-start app:

    cd gplus-quickstart-go
  3. Open main.go and replace YOUR_CLIENT_ID and YOUR_CLIENT_SECRET with the values that you generated in Step 1.

Step 3: Install the necessary libraries for Go

  1. Download and install the Google+ API library for Go:

    go get github.com/google/google-api-go-client/plus/v1
  2. Download and install the OAuth 2.0 library:

    go get golang.org/x/oauth2
    go get golang.org/x/oauth2/google
  3. Download and install the Gorilla web toolkit to manage sessions:

    go get github.com/gorilla/sessions

Step 4: Run the quick-start app

Now that you have set up your Google API Console project and configured the quick-start app, the app is ready to run.

Because you registered http://localhost:4567 as a Web origin in the Google API Console, you will run the sample from that location.

  1. Run the Go quick-start app:

    go run main.go
  2. Browse to your quick-start app, which by default is at http://localhost:4567.

After you sign in, the application uses the JavaScript client to retrieve your profile and uses the Go client library to retrieve the people visible to the app.

Clicking Disconnect from Google+ results in the server making a call to Google to revoke the refresh token. The server then removes any data that it acquired from Google about the user to disconnect the app and follow the developer policies.

Send feedback about...

Google+ Platform for Web
Google+ Platform for Web