想做一个JAVA的新浪微博搜索桌面软件,可是无法连接上新浪微博的接口
已经注册了一个开发者账户,得到了App Key ,App Secret,在调用example里:OAuth4Code.java时,没有跳转到授权认证页面。提示:访问出错啦!您所访问的站点在新浪微博连接失败。请您联系网站管理员或者稍后再试(error:invalid_request)。
应用回调页怎么设置。。。
好多人说是oauth2 回调地址的设置问题,究竟怎么设置呢。 --------------------编程问答-------------------- scribe-java支持 SinaWeiboApi
package org.scribe.examples;--------------------编程问答-------------------- 你这要求设置oauth2 回调地址吗 --------------------编程问答-------------------- 你的回调地址 没有设置把 这个地址应该在新浪微博里面就设置好 --------------------编程问答-------------------- 下个java的sdk包,在新浪微博开放平台.改回调地址,改配置文件,两者相同即可。还有丰富的example~ --------------------编程问答-------------------- 还有修改回调地址的时候,有时候新浪微博要半个小时才生效,切记。 --------------------编程问答-------------------- 回调地址在你的开发者中设置,可以设置成百度。授权码会在百度的地址的查询字符串中显示
import java.util.*;
import org.scribe.builder.*;
import org.scribe.builder.api.*;
import org.scribe.model.*;
import org.scribe.oauth.*;
public class SinaWeiboExample
{
private static final String NETWORK_NAME = "SinaWeibo";
private static final String PROTECTED_RESOURCE_URL = "http://api.t.sina.com.cn/account/verify_credentials.json";
public static void main(String[] args)
{
// Replace these with your own api key and secret
String apiKey = "your key";
String apiSecret = "your secret";
OAuthService service = new ServiceBuilder()
.provider(SinaWeiboApi.class)
.apiKey(apiKey)
.apiSecret(apiSecret)
.build();
Scanner in = new Scanner(System.in);
System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
System.out.println();
// Grab a request token.
System.out.println("Fetching request token.");
Token requestToken = service.getRequestToken();
System.out.println("Got it ... ");
System.out.println(requestToken.getToken());
// Obtain the Authorization URL
System.out.println("Fetching the Authorization URL...");
String authorizationUrl = service.getAuthorizationUrl(requestToken);
System.out.println("Got the Authorization URL!");
System.out.println("Now go and authorize Scribe here:");
System.out.println(authorizationUrl);
System.out.println("And paste the authorization code here");
System.out.print(">>");
Verifier verifier = new Verifier(in.nextLine());
System.out.println();
// Trade the Request Token and Verfier for the Access Token
System.out.println("Trading the Request Token for an Access Token...");
Token accessToken = service.getAccessToken(requestToken, verifier);
System.out.println("Got the Access Token!");
System.out.println("(if your curious it looks like this: "
+ accessToken + " )");
System.out.println();
// Now let's go and ask for a protected resource!
System.out.println("Now we're going to access a protected resource...");
OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL);
service.signRequest(accessToken, request);
Response response = request.send();
System.out.println("Got it! Lets see what we found...");
System.out.println();
System.out.println(response.getCode());
System.out.println(response.getBody());
System.out.println();
System.out.println("Thats it man! Go and build something awesome with Scribe! :)");
}
}
补充:Java , Java SE