我收到了INVALID_SESSION_ID:会话已过期或无效
我正在使用Restforce api与Saleforce API进行交互。我在salesforce中创建了一个连接的应用程序。我将Oauth选项设置为:
选定的OAuth范围
通过Web(Web)提供对数据的访问
完全访问(完整)
代表您执行请求(refresh_token,offline_access)
我设置
刷新令牌策略:刷新令牌在撤销之前有效
我有一个令牌。我在Rails中设置了一个新的Restforce对象。
client = Restforce.new(
oauth_token: ENV['SALESFORCE_OAUTH_TOKEN'.to_s],
instance_url: ENV["SALESFORCE_INSTANCE_URL".to_s],
api_version: '26.0')
使用正确的client_id和client_secret以及实例url创建对象,但我认为发生的是使用转义字符保存的值。我不确定那是什么,但过去我遇到了类似的问题,我能够摆脱" \"性格和它的工作。
这次我似乎无法上班。以下是我作为客户端对象获取的内容:
<Restforce::Data::Client @options={:api_version=>\"26.0\", :username=>nil, :password=>nil, :security_token=>nil, :client_id=>\"3MVG91SanXDmR_Aj4EKMmpYG_RTw39x1KA5dhzPc.9A1sNc6Gd9BYnNwVVxf.xVADoh0S9g==\", :client_secret=>\"34679683177007645\", :host=>\"login.salesforce.com\", :oauth_token=>\"tEngAuWGFV9fW6EknyRAf\", :refresh_token=>nil, :instance_url=>\"https://na61.salesforce.com\", :cache=>nil, :authentication_retries=>3, :compress=>nil, :mashify=>nil, :timeout=>nil, :adapter=>:net_http, :proxy_uri=>nil, :authentication_callback=>nil, :ssl=>{}, :request_headers=>nil, :logger=>#<Logger:0x0055a629b489d8 @progname=nil, @level=0, @default_formatter=#<Logger::Formatter:0x0055a629b489b0 @datetime_format=nil>, @formatter=nil, @logdev=#<Logger::LogDevice:0x0055a629b48910 @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<IO:<STDOUT>>, @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x0055a629b488e8>>>, :log_level=>:debug}>"
出于安全原因,我已经更改了oauth令牌,client_id和client_secret的值。我尝试过切碎和剥离以及一些gsub。它似乎不起作用。
我试过
client.options[:client_secret] = client.options[:client_secret].strip
client.options = client.options.delete ('\\')
client.options[:client_secret] = client.options[:client_secret].chomp
我尝试过其他一些事情似乎无法让它发挥作用。请帮忙!