【发布时间】:2020-02-13 13:10:31
【问题描述】:
我在 React 中使用 Link 来链接到 Items,然后将 public_token 传递到我的 rails 服务器,我试图将公共令牌交换为访问令牌。 Link 已成功将公共令牌返回给我,看起来像 public-sandbox-6df92f82-3260-4cb4-8489-65e6ac955e7a,我将其传递给我的 rails 服务器,在那里我使用 plaid-ruby gem 尝试交换令牌。但是,我收到了 INVALID_INPUT 错误。
格子红宝石代码 (params["plaidToken"] == public-sandbox-6df92f82-3260-4cb4-8489-65e6ac955e7a):
def set_plaid_token
client = Plaid::Client.new(env: :sandbox,
client_id: '*******',
secret: '*******',
public_key: params["plaidToken"])
exchange_token_response = client.item.public_token.exchange('[Plaid Link public_token]')
access_token = exchange_token_response.access_token
#TODO users can add same bank twice.
user = UserToken.find_by(token: params["userToken"]).user
token = UserToken.new(user_id: user.id, token: access_token, token_type: "plaid_token")
token.save
end
下面的错误消息只是告诉我格式化令牌,就像它已经格式化一样,所以我不确定还有什么问题。
错误信息:
Plaid::InvalidInputError (
Error Type : INVALID_INPUT
Error Code : INVALID_PUBLIC_TOKEN
Error Message : provided public token is in an invalid format. expected format: public-<environment>-<identifier>
Display Message :
Request ID : vaAqIgjQNZ2Zj07
):
【问题讨论】:
-
.exchange('[Plaid Link public_token]')是字面意思吗?如果是这样,这是不正确的,我相信您应该提交您的“params [”plaidToken“]”(例如client.item.public_token.exchange(params["plaidToken"]))。public_key应该来自 "...your Plaid dashboard" 根据Docs
标签: ruby-on-rails ruby plaid