Using the CData ODBC Driver for Google Translate in PyCharm

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Connect to Google Translate as an ODBC data source in PyCharm using the CData ODBC Driver for Google Translate.

The CData ODBC Drivers can be used in any environment that supports loading an ODBC Driver. In this tutorial we will explore using the CData ODBC Driver for Google Translate from within PyCharm. Included are steps for adding the CData ODBC Driver as a data source, as well as basic PyCharm code to query the data source and display results.

To begin, this tutorial will assume that you have already installed the CData ODBC Driver for Google Translate as well as PyCharm.

Add Pyodbc to the Project

Follow the steps below to add the pyodbc module to your project.

  1. Click File -> Settings to open the project settings window.
  2. Click Project Interpreter from the Project: YourProjectName menu.
  3. To add pyodbc, click the + button and enter pyodbc.
  4. Click Install Package to install pyodbc.

Connect to Google Translate

You can now connect with an ODBC connection string or a DSN. See the Getting Started section in the CData driver documentation for a guide to creating a DSN on your OS.

Authentication

Google Cloud Translation API requires OAuth 2.0 authentication to ensure secure access to translation services, datasets, glossaries, and adaptive MT resources. This authentication method allows you to securely connect to your Google Cloud project and manage translation resources with proper authorization.

OAuth 2.0 Setup and Configuration

Step 1: Create Google Cloud Project and Enable API

To set up OAuth authentication:

  1. Visit the Google Cloud Console
  2. Create a new project or select an existing project
  3. Note down your Project ID (required for all API calls)
  4. Navigate to "APIs & Services" > "Library"
  5. Search for and enable the "Cloud Translation API"
  6. Go to "APIs & Services" > "Credentials"
  7. Click "Create Credentials" and select "OAuth Client ID"
  8. Configure the OAuth consent screen if prompted
  9. Select "Desktop application" or "Web application" as appropriate
  10. Set the authorized redirect URI (CallbackURL)
  11. Copy the Client ID and Client Secret for use in your connection

Required Connection Properties

  • AuthScheme: Set this to OAuth (required)
  • OAuthClientId: Client ID from Google Cloud Console (required)
  • OAuthClientSecret: Client secret from Google Cloud Console (required)
  • CallbackURL: Redirect URI specified in your OAuth application (required)
  • InitiateOAuth: Set to GETANDREFRESH for automatic token management (recommended)
  • ProjectId: Your Google Cloud project ID or project number (required for queries)

Required OAuth Scopes

The Google Cloud Translation API Profile requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-translation - Full access to Cloud Translation API resources including translation, datasets, glossaries, and adaptive MT

Below is the syntax for a DSN:

[CData API Source]
Driver = CData ODBC Driver for Google Translate
Description = My Description
Profile = C:\profiles\GoogleTranslate.apip
AuthScheme = OAuth
InitiateOAuth = GETANDREFRESH
OAuthClientId = your_client_id
OAuthClientSecret = your_client_secret
CallbackUrl = your_callback_url

Execute SQL to Google Translate

Instantiate a Cursor and use the execute method of the Cursor class to execute any SQL statement.

import pyodbc

cnxn = pyodbc.connect('DRIVER={CData ODBC Driver for API};Profile = C:\profiles\GoogleTranslate.apip;AuthScheme = OAuth;InitiateOAuth = GETANDREFRESH;OAuthClientId = your_client_id;OAuthClientSecret = your_client_secret;CallbackUrl = your_callback_url;')
cursor = cnxn.cursor()
cursor.execute("SELECT LanguageCode, DisplayName FROM SupportedLanguages WHERE ProjectId = 'my-project-12345'")
rows = cursor.fetchall()
for row in rows:
  print(row.LanguageCode, row.DisplayName)

After connecting to Google Translate in PyCharm using the CData ODBC Driver, you will be able to build Python apps with access to Google Translate data as if it were a standard database. If you have any questions, comments, or feedback regarding this tutorial, please contact us at [email protected].

Ready to get started?

Connect to live data from Google Translate with the API Driver

Connect to Google Translate