1

https://github.com/heroku/simple-salesforceのガイドに従ってセッション ID 情報をリクエストに渡すのに問題があります。認証できるようですが、API でクエリを実行すると、「INVALID_SESSION_ID」が表示されます。ここで何が欠けているのかわからず、おそらく API の理解が不足していると思います。

どんな助けでも大歓迎です。

from simple_salesforce import Salesforce
import requests


session = requests.Session()
sf = Salesforce(instance='test.salesforce.com',session_id = '')
sf = Salesforce(username=username, password=password, security_token=security_token,session=session,sandbox=True)
response = session.get('https://test.salesforce.com/a4Z/o') #Returns a HTTP code 200
response = session.get('https://test.salesforce.com/services/data/v34.0/sobjects') #Returns a HTTP code 401
session.cookies.clear()
4

2 に答える 2

0

そのライブラリについてはよくわかりませんが、sf 変数のインスタンス化を上書きしているようです。たとえば、次のようにした場合:

import requests
session = requests.Session()
response = session.get('https://test.salesforce.com/a4Z/o')

テスト用のオープンな REST サービスであるため、200 が返されます。

また、Salesforce() オブジェクトが渡す値を作成していません...例として、認証にユーザー名とパスワードを使用するライブラリ作成者のより本格的な例を見てください。

from simple_salesforce import Salesforce
import requests

session = requests.Session()
# manipulate the session instance (optional)
sf = Salesforce(
   username='user@example.com', password='password', organizationId='OrgId',
   session=session)

明らかに、これらは json のテスト値であり、実際のユーザー名と値ではありません。これを機能させるには、有効なユーザー名とパスワードを渡す必要があります。

私があなただったら、sf 変数の最初のインスタンス化を省略し、2 番目に有効な値を入れて、もう一度やり直します。

于 2016-01-26T22:27:34.190 に答える