Как получить доступ к данным Salesforce через драйвер CData ODB C с помощью python с использованием Salesforce Access Token пользователя из аутентификации OAuth? - PullRequest
0 голосов
/ 05 марта 2020

У меня есть веб-приложение, и я хочу интегрировать в него Salesforce. Поэтому, когда авторизация OAuth2 происходит со стороны пользователя (он входит в систему и предоставляет нашему приложению доступ к его данным). После того, как пользователь предоставит доступ, я получу указанные ниже параметры.

access_token
refresh_token
instance_url
issued_at
signature
scope
token_type

Используя вышеуказанный параметр, я должен получить данные через Salesforce API через CData, используя python3. Так как мне сделать это через CData, это мой вопрос. Я надеюсь, что имеет смысл до здесь. Я просмотрел документ, который вы отправили. Я не могу понять. Не могли бы вы уточнить?

Я нашел только один документ, соединяющийся через python, упомянутый ниже. Он не содержит информацию об использовании токена доступа. http://cdn.cdata.com/help/RFE/odbc/pg_odbclangpythonconnect.htm

Я просмотрел документы CData, относящиеся к Salesforce, но не понял, как это сделать. Я не должен использовать имя пользователя, пароль, идентификатор клиента, секрет клиента. Может ли кто-нибудь помочь мне в этом.

1 Ответ

0 голосов
/ 05 марта 2020

Инструкции по подключению к Salesforce с использованием OAuth с драйвером CData ODB C приведены здесь: http://cdn.cdata.com/help/RFE/odbc/pg_oauthcustomappcreate.htm (скопировано ниже).


Аутентификация в Salesforce из Веб-приложение

Чтобы получить токен доступа, задайте следующие свойства соединения:

  • OAuthClientId : установите ключ потребителя в настройках приложения.
  • OAuthClientSecret : установить секретный ключ потребителя в настройках приложения.
  • CallbackURL : установить URL-адрес обратного вызова в настройках приложения.

При подключении через веб-приложение или если драйвер не авторизован для открытия окна браузера, вам необходимо обменять временные значения проверки для токена доступа:

  1. Вызовите GetOAuthAuthorizationUrl. Хранимая процедура возвращает URL-адрес конечной точке OAuth.
  2. Войдите в систему и авторизуйте приложение. Вы будете перенаправлены обратно на URL обратного вызова. Если для параметра GrantType задано значение Implicit, URL-адрес обратного вызова содержит OAuthAccessToken и OAuthServerUrl в параметре строки запроса. Если для параметра GrantType задано значение code, URL-адрес обратного вызова содержит код верификатора в параметре строки запроса с именем «code». Извлеките код верификатора и вызовите GetOAuthAccessToken.

Соответствующая часть:

Чтобы подключиться к данным, установите следующие свойства подключения:

  • OAuthAccessToken
  • OAuthServerUrl

Чтобы автоматически обновить sh токен доступа после его истечения, установите InitiateOAuth до REFRE SH и установите OAuthRefreshToken . Также можно вызвать хранимую процедуру RefreshOAuthAccessToken, когда срок действия маркера доступа истечет. Если в качестве входных данных используется токен refre sh, процедура возвращает действительный токен доступа OAuth.

В качестве альтернативы для получения URL-адреса авторизации и входа пользователя в систему Salesforce можно настроить тип предоставления пароля. вызывая GetOAuthAccessToken, устанавливая GrantType в ПАРОЛЬ. Здесь необходимо убедиться, что имя пользователя и пароль заданы в строке подключения, в дополнение к идентификатору клиента и секрету вашего приложения. Обратите внимание, что InitiateOAuth должен быть установлен в OFF, чтобы тип предоставления пароля работал. Вы не можете обновить sh токен, полученный таким образом. Преимущество этого метода заключается в удалении шага входа в систему для пользователей, которые не могут открыть веб-браузер, но он имеет тот недостаток, что учетные данные пользователя обмениваются в виде простого текста между сервером и Salesforce.

Примечание : Вы можете настроить время ожидания сеанса в Salesforce, выбрав «Настройка»> «Настройка администрирования»> «Элементы управления безопасностью»> «Параметры сеанса».

...