Как получить доступ к данным Salesforce через драйвер CData ODBC с использованием python с использованием токена доступа Salesforce пользователя из авторизации OAuth?

У меня есть веб-приложение, и я хочу интегрировать с ним 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, я не понимал, как это сделать. Я не должен использовать имя пользователя, пароль, идентификатор клиента, секрет клиента. Может ли кто-нибудь мне в этом помочь.


person Developer    schedule 05.03.2020    source источник


Ответы (1)


Инструкции по подключению к Salesforce с использованием OAuth с драйвером CData ODBC находятся здесь: 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

Чтобы автоматически обновлять токен доступа по истечении срока его действия, установите для InitiateOAuth значение REFRESH и установите OAuthRefreshToken. В качестве альтернативы вызовите хранимую процедуру RefreshOAuthAccessToken по истечении срока действия токена доступа. Учитывая токен обновления в качестве входных данных, процедура возвращает действительный токен доступа OAuth.

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

Примечание. Вы можете настроить тайм-аут сеанса в Salesforce, перейдя в раздел Настройка ›Администрирование› Управление безопасностью ›Настройки сеанса.

person Jerod Johnson    schedule 05.03.2020