Необходимые инструкции находятся ниже в документации (также скопированной ниже): http://cdn.cdata.com/help/RFE/odbc/pg_oauthcustomappcreate.htm
Вам нужно будет создать собственное приложение в Salesforce, а затем установить предписанное Свойства соединения, связанные с OAuth, в строке подключения. Ваш код для создания соединения будет выглядеть следующим образом:
cnxn = pyodbc.connect("DRIVER={CData ODBC Driver for Salesforce};OAuthClientID=MY_CONSUMER_KEY;OAuthClientSecret=MY_CONSUMER_SECRET;OAuthCallbackURL=https://localhost:33333;InitiateOAuth=GETANDREFRESH;")
Возможно, вам потребуется сначала проверить соединение и запустить поток OAuth вне Python. Инструкции для этого процесса можно найти в разделе справки Unix ODB C (http://cdn.cdata.com/help/RFE/odbc/pg_unixODBConlinux.htm), но они также скопированы ниже.
Инструкции скопированы с Документация
Создание подключенного приложения
Для получения учетных данных клиента OAuth, ключа потребителя и секрета потребителя:
- Войдите на Salesforce.com.
- В меню «Настройка» введите «Приложения» в поле «Быстрый поиск», а затем щелкните ссылку, чтобы создать приложение.
- В разделе «Подключенные приложения» на появившейся странице нажмите «Создать». Введите имя, которое будет отображаться пользователям при входе в систему для предоставления разрешений вашему приложению, а также контактный адрес электронной почты.
- Нажмите Включить настройки OAuth и введите значение в поле URL-адрес обратного вызова. Если вы создаете приложение для настольного компьютера, установите для URL обратного вызова значение http://localhost: 33333 или другой номер порта по вашему выбору. Если вы создаете веб-приложение, задайте в качестве URL-адреса обратного вызова страницу вашего веб-приложения, на которую вы хотите, чтобы пользователь вернулся после авторизации вашего приложения.
- Выберите объем разрешений, которые ваше приложение должно запрашивать у пользователя.
- Нажмите на название вашего приложения, чтобы открыть страницу с информацией о вашем приложении. Отображаются учетные данные клиента OAuth, ключ потребителя и секрет потребителя.
Аутентификация в Salesforce из настольного приложения
После установки следующих свойств подключения вы готовы к подключению:
- OAuthClientId : установите ключ потребителя в настройках приложения.
- OAuthClientSecret : установите секрет потребителя в настройках приложения .
- CallbackURL : установите URL-адрес обратного вызова в настройках приложения.
- InitiateOAuth : установите на GETANDREFRE SH. Вы можете использовать InitiateOAuth, чтобы не повторять обмен OAuth и вручную устанавливать свойство соединения OAuthAccessToken.
При подключении драйвер открывает конечную точку OAuth в браузере по умолчанию. Войдите и предоставьте разрешения приложению. Затем драйвер завершает следующий процесс OAuth:
- Получает URL-адрес обратного вызова и устанавливает маркер доступа и OAuthServerUrl для проверки подлинности запросов.
- Сохраняет значения OAuth в OAuthSettingsLocation для сохранения в соединениях.
- Обменивает возвращенный токен refre sh на новый действительный токен доступа.
Использование unixODB C
Определите DSN
Создайте DSN, добавив запись в odbc.ini
или .odbc.ini
. Ниже приведен пример записи DSN:
[CData Salesforce Source]
Driver=/opt/cdata/cdata-odbc-driver-for-salesforce/lib/libsalesforceodbc.x64.so
OAuthClientID=MY_CONSUMER_KEY
OAuthClientSecret=MY_CONSUMER_SECRET
OAuthCallbackURL=https://localhost:33333
InitiateOAuth=GETANDREFRESH
Проверка соединения
Вы можете использовать инструмент тестирования unixODB C, i sql, для выполнения SQL запросов к Salesforce из командная строка. При тестировании соединения используйте флаг -v для вывода любых сообщений из диспетчера драйверов и драйвера.
isql -v "CData Salesforce Source"