Java Discogs OAuth with Scribe:无法连接到远程服务
我试图通过oauth 1.0a连接到discogs。我正在使用本页中的一个示例: 我的DiscoGSApi10a.java看起来完全一样。我得到了一个属性文件和我的主类,在搜索错误时减少了该类:Java Discogs OAuth with Scribe:无法连接到远程服务,java,oauth,scribe,Java,Oauth,Scribe,我试图通过oauth 1.0a连接到discogs。我正在使用本页中的一个示例: 我的DiscoGSApi10a.java看起来完全一样。我得到了一个属性文件和我的主类,在搜索错误时减少了该类: public class Auth2 { public static void main(String[] args) throws FileNotFoundException, IOException { Properties configProps = new
public class Auth2 {
public static void main(String[] args) throws FileNotFoundException, IOException {
Properties configProps = new Properties();
configProps.load(new FileInputStream("src/main/resources/config.properties"));
String consumer_key = configProps.getProperty("consumer.key");
String consumer_secret = configProps.getProperty("consumer.secret");
String user_agent_string = configProps.getProperty("useragent.string");
// will be empty on the first run, as token is not yet provided
String config_token = configProps.getProperty("accesstoken.key", "");
String config_secret = configProps.getProperty("accesstoken.secret", "");
//this requires user interaction if no access token is found in config.properties
OAuthService service = new ServiceBuilder()
.provider(DiscoGSApi10a.class)
.apiKey(consumer_key)
.apiSecret(consumer_secret)
.debug()
.build();
Token requestToken = service.getRequestToken();
System.out.println("Token RAW: "+ requestToken.getRawResponse());
}
}
日志和错误如下所示:
正在从中获取请求令牌
将oauth_回调设置为
oob正在生成签名。。。使用base64编码器:DatatypeConverter
基本字符串为:
POST&https%3A%2F%2Fapi.discogs.com%2fauth%2request\u token&oauth\u回调%3Doob%26oauth\u consumer\u key%YOUR\u consumer\u key%26oauth\u nonce%3D1825647227%26oauth\u签名\u方法%3DHMAC-SHA1%26oauth\u时间戳%3D1420357886%26oauth\u版本%3D1.0
签名为:WbSZr46nikDsZGzo9gSeJcP28Xk=附加的OAuth
参数:{oauth_回调->oob,oauth_签名->
WbSZr46nikDsZGzo9gSeJcP28Xk=,oauth_版本->1.0,oauth_当前->
1825647227,oauth_签名方法->HMAC-SHA1,oauth_用户密钥
->IgUpkXTCBbIZNQrlXiYk,oauth_时间戳->1420357886}使用Http头签名发送请求。。。主线程中的异常
org.scribe.exceptions.OAuthConnectionException:出现问题
创建到远程服务的连接时。在
org.scribe.model.Request.sendRequest.java:70在
org.scribe.oauth.OAuth10aServiceImpl.getRequestTokenOAuth10aServiceImpl.java:59
在
org.scribe.oauth.OAuth10aServiceImpl.getRequestTokenOAuth10aServiceImpl.java:40
在
org.scribe.oauth.OAuth10aServiceImpl.getRequestTokenOAuth10aServiceImpl.java:45
在de.ms.discogs.auth.Auth2.mainAuth2.java:43,原因是:
java.net.SocketException:位于的服务器的文件意外结束
www.http.HttpClient.parseHTTPHeaderHttpClient.java:772 at
www.http.HttpClient.parseHTTPHttpClient.java:633 at
www.http.HttpClient.parseHTTPHeaderHttpClient.java:769 at
www.http.HttpClient.parseHTTPHttpClient.java:633 at
net.www.protocol.http.HttpURLConnection.getInputStreamHttpURLConnection.java:1323
在
java.net.HttpURLConnection.getresponsecodetpurlconnection.java:468
在
net.www.protocol.https.HttpsURLConnectionImpl.getresponsecodetpsurlconnectionimpl.java:338
在org.scribe.model.Response.Response.java:30at
org.scribe.model.Request.doSendRequest.java:117
org.scribe.model.Request.sendRequest.java:66。。。4更多
为什么我连远程服务都不能连接
关于LStrike我建议从日志中删除像您的consumerkey这样的密钥!消费者密钥是关键的一个,但我仍然不会分享这些信息!谢谢,在发布时没有考虑到这一点。您连接正常,但服务器关闭了您的连接,请参阅: