找不到sdk_config.properties

Cor*_*den 1 java payment sdk paypal

我正在尝试在我的网站中包含paypal处理.我正在使用java sdk生成付款,但每当我尝试进行身份验证时,都会收到以下错误消息:

java.io.IOException:找不到资源'sdk_config.properties'

我正在执行的代码如下:

String clientID = properties.getProperty("clientID");
String clientSecret = properties.getProperty("clientSecret");
return new OAuthTokenCredential(clientID, clientSecret).getAccessToken();
Run Code Online (Sandbox Code Playgroud)

我知道文档说你需要maven但是我没有在我的项目中使用maven ...我只是使用maven来构建sdk然后在我的项目中包含必要的jar和文件.我有一个位于我的WEB-INF文件夹下的sdk_config.properties文件,我在获取clientID和clientSecret之前将其加载到属性对象中,但每当我尝试创建OAuthTokenCredential时,代码都会对我产生影响.我找不到OAuthTokenCredential对象的源代码来找到愚蠢的东西,所以我有点卡在这里......当然!提前thx你的帮助:)

Cor*_*den 6

好吧,经过几杯啤酒和很多头疼,我能够解决自己的问题.我找到了paypal核心的ResourceLoader对象源代码, OAuthTokenCredential对象调用该对象来加载sdk_config.properties文件.我将ResourceLoader代码复制并粘贴到我的代码中并运行它以查看它在做什么.所以基本上ResourceLoader对象在类路径上查找sdk_config.properties文件 - 我松散地使用该术语,因为它实际上没有检查项目的类路径,这就是为什么它无法找到文件 - 但它也会查找.properties文件在项目的基础包中.所以我通过将sdk_config.properties文件移动到项目的基础包来解决了这个问题(这意味着我将它直接放在src文件夹下).现在它有效!!!

愚蠢的Paypal代码... Y对于支付处理如此重要的事情应该以如此宽松的方式进行硬编码.如果有一个paypal开发人员在那里听,我建议更新代码以允许.properties文件的位置传递到OAuthTokenCredential构造函数,然后将该位置传递给getResourceAsStream()方法.把它放在下一个版本中,因为我确定它会导致很多人头痛,很多人可能只是放弃并使用其他东西.另外,修复searchClasspath()方法......它不搜索项目的类路径.

  • 请更新Rest API Reference文档的java部分.没有AmountDetails对象.该代码需要Details对象.这个东西应该开箱即用......但事实并非如此.这几乎与Google Calendar API一样糟糕. (2认同)