如何找出导致此IllegalAccessError问题的原因?任何帮助表示赞赏.
我已经按照一些修复/解决方法从maven使用Gson 2.8.这是部分Maven配置:
<dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>converter-gson</artifactId>
<version>2.2.0</version>
<exclusions>
<exclusion>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
和完整的堆栈跟踪:
java.lang.IllegalAccessError: tried to access method com.google.gson.Gson.newJsonWriter(Ljava/io/Writer;)Lcom/google/gson/stream/JsonWriter; from class retrofit2.converter.gson.GsonRequestBodyConverter
at retrofit2.converter.gson.GsonRequestBodyConverter.convert(GsonRequestBodyConverter.java:45)
at retrofit2.converter.gson.GsonRequestBodyConverter.convert(GsonRequestBodyConverter.java:30)
at retrofit2.ParameterHandler$Body.apply(ParameterHandler.java:312)
at retrofit2.ServiceMethod.toRequest(ServiceMethod.java:110)
at retrofit2.OkHttpCall.createRawCall(OkHttpCall.java:178)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:162)
at com.xxxxxx.web.controller.UserController.exchangeAccessToken(UserController.java:2551)
at com.xxxxxx.web.controller.UserController.plaidtoken(UserController.java:2645)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:685)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829) …Run Code Online (Sandbox Code Playgroud) 我正在使用格子服务,我正试图通过长尾搜索对"Mountain America Credit Union"发起"步骤"调用.
当它要求mfa(基于问题)然后输入错误答案时,它允许我成功注册或给出下面列出的响应:
Response:{
code = 1200;
message = "invalid credentials";
resolve = "The username or password provided were not correct."
}
Run Code Online (Sandbox Code Playgroud)
事情是从格子图案输入错误的mfa响应
Response:{
code = 1203;
message = "invalid mfa";
resolve = "The MFA response provided was not correct.";
}
Run Code Online (Sandbox Code Playgroud)
为什么对于longtail搜索我收到此错误?
有谁遇到过这个问题?如果是的话请帮助我
谢谢
我正在使用iOS的Plaid API编写一个程序,在验证后访问银行帐户并显示交易数据.
我需要知道是否有可能在账户之间转移资金(检查储蓄)以及如何.
我知道橡子使用相同的API,他们能够转移资金,并且Plaid的网站声称"根据用户在他们头脑中知道的信息,在几秒钟内授权ACH付款.无需知道帐户或路由号码.不需要微观存款".
但是有关于如何在网站上转移资金的文件吗?
这可能是一个愚蠢的问题,但我正在尝试找出一种方法来开发与 Plaid 的 API 集成的应用程序,而无需使用真实的银行账户来测试它。我不是美国公民,因此我在 Plaid 支持的银行上没有真实的银行账户。
有没有办法在没有真实银行账户的情况下进行这种测试?
还有其他人对 Plaid 的 linkTokenCreate 方法有疑问吗?我使用 node.js 作为后端,当我与前端一起运行它时,错误从涉及此函数的行开始。
即使我使用标准快速启动选项,我仍然收到相同的 400 bad request 错误。
这是后端代码,与快速入门相同。我只是测试链接令牌,因此它是我定义的唯一路由。
app.post('/create_link_token', function (request, response, next) {
console.log('HI THERE')
Promise.resolve()
.then(async function () {
const configs = {
user: {
//this should be a unique id for the current user.
client_user_id: 'user-id',
},
client_name: 'Plaid Quickstart',
products: PLAID_PRODUCTS,
country_codes: PLAID_COUNTRY_CODES,
language: 'en',
};
console.log(configs);
// if (PLAID_REDIRECT_URI !== '') {
// configs.redirect_uri = PLAID_REDIRECT_URI;
// };
const createTokenResponse = await client.linkTokenCreate(configs);
console.log(createTokenResponse);
prettyPrintResponse(createTokenResponse);
response.json(createTokenResponse.data);
})
.catch(next);
});
Run Code Online (Sandbox Code Playgroud)
这是错误: …
我有一个在 Plaid 支持下打开的案例,但自 12/26 开放以来它甚至没有被触及,也许他们上周都在休假。
我们曾将先前的 API 用于网站,并希望将其用于新网站。我们发现 API 自上次以来发生了巨大变化,就像一年前一样,并且所有东西似乎都在沙箱中工作,但是对于“开发”或“生产”,无法让 TD Business Direct 连接起来并生成所需的 access_token,因此我们可以将交易拉入我们的应用程序。
所以我对这篇文章充满希望,我可能会得到一些帮助,了解“此项目的登录详细信息已更改(凭据、MFA 或所需的用户操作)并且需要用户登录才能更新此信息的错误。使用链接的更新将项目恢复到良好状态的模式”的真正含义。Plaid Link 流程似乎接受初始凭据和对 MFA 的响应,但在回答第二个问题后给出了错误,我们无法链接帐户。
在回答第二个 MFA 问题后尝试发布时,我们看到 400 状态并显示:
{ "display_message": null, "error_code": "ITEM_LOGIN_REQUIRED", "error_message": "此项的登录详细信息已更改(凭据、MFA 或所需的用户操作),需要用户登录才能更新此信息。使用链接的更新方式将物品恢复到良好状态", "error_type": "ITEM_ERROR", "request_id": "request_id_here" }
我们退出时可能有帮助的其他详细信息:
{"institution":{"name":"TD Bank - Business Direct","institution_id":"ins_107836"},"request_id":"request_id_here","link_session_id":"session_id_here","status":"requires_questions" }
仅仅阅读消息似乎我们可能没有输入正确的凭据,但我们可以很好地登录到银行网站,所以他们是正确的并且帐户没有被锁定。
抱歉我的英语不好,我不是母语人士,所以请不要过多地贬低我。我是编程初学者,我正在从互联网上找到的教程中学习。今天是我第一次在 Stack Overflow 上提问。这可能是一个愚蠢的问题,我知道有很多类似的问题,但这是一个不同的问题,它不是重复的。让我谈谈我的问题。
我有一个 React 组件,其中使用 React-plaid npm 包来使用 Plaid APi。它可以在这里找到 反应格子
我当前的组件代码如下所示
成分
import React, {Component} from 'react';
import BuggyApi from "../../services/BuggyApi";
import BlockUi from "react-block-ui";
import ReactPlaid from 'react-plaid'
class Integration extends Component{
state={
plaid_public_key: "",
plaid_public_token: "",
blocking: false,
isSuccess: false,
errorMessage: [],
open: false,
plaidData: [],
};
componentWillMount(){
new BuggyApi().getPlaidPublicKey().then((response)=>{
console.log(response.data);
if(response.status===200){
this.setState({
plaid_public_key: response.data.public_key
});
}
}).catch((error)=>{
})
}
handleOnExit = (error, metadata)=>{
if (error != null) {
console.log('link: user exited');
console.log(error, metadata);
} …Run Code Online (Sandbox Code Playgroud) 我正在使用 plaid 尝试从关联帐户获取交易。在沙箱中,我没有遇到任何错误,但是一旦进入开发阶段,我就开始seeing "ITEM_LOGIN_REQUIRED"尝试获取交易。我正在使用 plaid react 组件和 plaid ruby gem。我怀疑我的代码中没有像通过 Plaids api 的流程那样多的错误,如下所示
用户与链接交互 -> 使用凭据登录帐户 -> 帐户已链接并返回 public_token -> public_token 交换存储在数据库中的 access_token -> access_token 用于查找交易 -> Plaid 返回错误。-> 引导用户完成更新模式 -> 查找交易 -> 错误 -> 冲洗并重复。
下面是我查找交易的地方以及出现错误的地方。
start_date = Date.new(date[0].to_i, date[1].to_i, 1).strftime('%Y-%m-%d')
end_date = Date.new(date[0].to_i, date[1].to_i, -1).strftime('%Y-%m-%d')
plaid_env = Rails.application.config.plaid_env
client_id = Rails.application.config.client_id
secret = Rails.application.config.secret
public_key = Rails.application.config.public_key
client = Plaid::Client.new(env: plaid_env,
client_id: client_id,
secret: secret,
public_key: public_key)
transaction_response = client.transactions.get(access_token, start_date, end_date)
transactions = transaction_response.transactions
Run Code Online (Sandbox Code Playgroud) 我在本地测试 firebase 功能时遇到问题。我有一些我想保护的关键 api 密钥。所以为此我使用functions.config().
当使用firebase emulators:start或本地启动您的函数服务器firebase emulators:start --only functions时,secret当使用functions.config().plaid.secret.
我曾经firebase functions:config:get > .runtimeconfig.json将我的配置带到本地。我在我的functions文件夹中运行它。
该.runtimeconfig.json文件如下所示:
{
"plaid": {
"secret": "blabla",
"clientid": "blabla"
}
}
Run Code Online (Sandbox Code Playgroud)
我的index.js看起来如下:
// Using Express
const express = require('express');
const app = express();
app.use(express.json());
// Cloud Functions
const functions = require("firebase-functions");
// Cloud Firestore
const admin = require("firebase-admin");
admin.initializeApp();
const database = admin.firestore();
// Plaid
const plaid = require("plaid"); …Run Code Online (Sandbox Code Playgroud) node.js firebase plaid google-cloud-functions google-cloud-firestore
我试图从这里开始遵循 Plaid 的文档,但我似乎无法弄清楚public_token当我在 Plaid开发环境中工作时从哪里获得。他们是这样说的:
在他们的第二个例子中:
from plaid import Client
client = Client(client_id='***', secret='***', public_key='***', environment='sandbox')
# the public token is received from Plaid Link
response = client.Item.public_token.exchange(public_token)
access_token = response['access_token']
Run Code Online (Sandbox Code Playgroud)
我不知道从哪里来的public_token。如果我去那个格子链接他们说:
此存储库现已弃用。要与 Plaid 集成,请访问文档。https://plaid.com/docs
然后,当我去他们的官方文档时,我似乎找不到任何方法来获得它public token。
我正在尝试按照以下方式做一些事情:
from exceptions import (
InvalidPlaidEnvironment,
MissingPlaidCredential
)
from plaid import Client
from plaid.errors import APIError, ItemError, InvalidRequestError
VALID_ENVIRONMENTS = (
'sandbox',
'development',
'production'
)
CLIENT_ID = '<development_client_id>'
SECRET …Run Code Online (Sandbox Code Playgroud) plaid ×10
javascript ×2
node.js ×2
reactjs ×2
finance ×1
firebase ×1
gson ×1
integration ×1
java ×1
python-3.x ×1
react-redux ×1
retrofit2 ×1
ruby ×1