搜狐微博 API 相关问题

tashiwoweiyi 2011-11-01 04:40:44
谁做过 搜狐微博 API 相关 例子。就是第三方以搜狐帐号登录,并获取用户资料。

知道的,帮忙解答下面几个问题。

1、 搜狐微博 API ,获取登录者的用户资料。
2、我在自己电脑调用【http://api.t.sohu.com/oauth/access_token】 能正常登录,到Linux服务器下,部属运行就报如下错误。
java.io.IOException: Server returned HTTP response code: 400 for URL: http://api.t.sohu.com/oauth/access_token
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
at com.covics.weibo.server.SoHuWeiBo.getLogin(SoHuWeiBo.java:96)
at com.covics.weibo.BaseWeiBo.getLogin(BaseWeiBo.java:38)
at com.covics.weibo.BaseWeiBo.getLoginUserInfo(BaseWeiBo.java:59)
at com.covics.weibo.BaseWeiBo.getLoginUserInfo(BaseWeiBo.java:73)
at com.covics.meefon.service.member.WeiBoServer.checkSohuUser(WeiBoServer.java:186)
at com.covics.meefon.service.member.WeiBoServer.getWeiBoLogin(WeiBoServer.java:109)
at com.covics.meefon.service.member.WeiBoServer.weiBoSynchronous(WeiBoServer.java:67)
at com.covics.meefon.service.impl.Service_1_97.service(Service_1_97.java:48)
at com.covics.meefon.service.impl.AbstractBaseDataService.parseService(AbstractBaseDataService.java:206)
at com.covics.meefon.service.impl.FactoryServiceImpl.logicService(FactoryServiceImpl.java:101)
at com.covics.meefon.servlet.Portal.doPost(Portal.java:174)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:662)
...全文
1564 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
teemai 2013-11-10
  • 打赏
  • 举报
回复
400 BAD REQUEST 请求的地址不存在或者包含不支持的参数 参数不对吧?
天_天天蓝 2013-11-07
  • 打赏
  • 举报
回复
我也要一份12362665@qq.com
fallleavs 2013-01-04
  • 打赏
  • 举报
回复
楼主,我的也出错了,能不能发一份解决方案给我啊 670876068@qq.com
for_my_chen 2012-09-24
  • 打赏
  • 举报
回复
女孩脑子慢
listlisc 2012-09-21
  • 打赏
  • 举报
回复
楼主麻烦给我也发一份我看看 我这一直报错 谢谢了 listlisc@163.com
hellojie0320 2012-09-15
  • 打赏
  • 举报
回复
楼主你好,我现在也急用这个项目不知道您实现了没有,如果实现了麻烦您发我一份。跪求啊。。这是我邮箱951963400@qq.com
顾垌杰 2011-12-15
  • 打赏
  • 举报
回复
LZ,如果知道答案了告诉我一下
邮箱是:58132017@163.com
顾垌杰 2011-12-15
  • 打赏
  • 举报
回复
我跟你一样,客户端都没问题,windows都ok
到了linux老是报错!
tashiwoweiyi 2011-11-03
  • 打赏
  • 举报
回复
???没有知道。
tashiwoweiyi 2011-11-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tashiwoweiyi 的回复:]
引用 4 楼 gavin_ts 的回复:
HTTP 400 貌似是 你的url在服务端不识别啊

是不是 服务端的问题啊!


我想也是服务器的问题。因为我在我们开发电脑试了很多台。都正常登录···但到linux服务器就失败了。
[/Quote]

可就是不知道如何解决。
tashiwoweiyi 2011-11-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 gavin_ts 的回复:]
HTTP 400 貌似是 你的url在服务端不识别啊

是不是 服务端的问题啊!
[/Quote]

我想也是服务器的问题。因为我在我们开发电脑试了很多台。都正常登录···但到linux服务器就失败了。
pmlxp 2011-11-01
  • 打赏
  • 举报
回复
瞄 下。。
我嘞个去 2011-11-01
  • 打赏
  • 举报
回复
HTTP 400 貌似是 你的url在服务端不识别啊

是不是 服务端的问题啊!
tashiwoweiyi 2011-11-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gavin_ts 的回复:]
http://api.t.sohu.com/oauth/access_token 返回的什么值啊? json?
[/Quote]

是搜狐微博的XAuth认证
下面是一个例子。


public static void main(String[] args) throws Exception {

OAuthConsumer consumer = new DefaultOAuthConsumer(
"consumer_key", "consumer_secret");
URL url = new URL("http://api.t.sohu.com/oauth/access_token");
HttpURLConnection request = (HttpURLConnection) url.openConnection();
request.setDoOutput(true);
request.setRequestMethod("POST");
HttpParameters para = new HttpParameters();
para.put("x_auth_username", URLEncoder.encode("your_passport","utf-8"));
para.put("x_auth_password", "your_password");
para.put("x_auth_mode", "client_auth");
consumer.setAdditionalParameters(para);
consumer.sign(request);
OutputStream ot = request.getOutputStream();
ot.write(("x_auth_username="+URLEncoder.encode("your_passport","utf-8")+"&x_auth_password=your_password&x_auth_mode=client_auth").getBytes());
ot.flush();
ot.close();
System.out.println("Sending request...");
request.connect();
System.out.println("Response: " + request.getResponseCode() + " "
+ request.getResponseMessage());
BufferedReader reader =new BufferedReader(new InputStreamReader(request.getInputStream()));
String b = null;
while((b = reader.readLine())!=null){
System.out.println(b);
}
request.disconnect();
}


我嘞个去 2011-11-01
  • 打赏
  • 举报
回复
http://api.t.sohu.com/oauth/access_token 返回的什么值啊? json?
THINKPHP最全第三方登录(包括腾讯QQ、微信、新浪微博、Github、淘宝网、百度、搜狐微博、人人、360、网易等等) 使用方式: 1、使用命名空间 use Org\ThinkSDK\ThinkOauth; 2、设置三方登录的类别并赋予一个变量 $type = ThinkOauth::getInstance('qq'); 3、设置配置文件 'THINK_SDK_(TYPE)' => array( 'APP_KEY' => '', //应用注册成功后分配的 APP ID 'APP_SECRET' => '', //应用注册成功后分配的KEY 'CALLBACK' => '', //注册应用填写的callback ), 上文中的(TYPE)为设置的类别,其值目前有以下几个: //腾讯QQ登录配置 THINK_SDK_QQ // 用户基本信息API接口 user/get_user_info //腾讯微博配置 THINK_SDK_TENCENT // 用户基本信息API接口 user/info //新浪微博配 THINK_SDK_SINA // 用户基本信息API接口 users/show。附加参数:'uid='.$obj->openid() //网易微博配置 THINK_SDK_T163 // 用户基本信息API接口 users/show //人人网配置 THINK_SDK_RENREN // 用户基本信息API接口 users.getInfo //360配置 THINK_SDK_X360 // 用户基本信息API接口 user/me //豆瓣配置 THINK_SDK_DOUBAN // 用户基本信息API接口 user/~me //Github配置 THINK_SDK_GITHUB // 用户基本信息API接口 user //Google配置 THINK_SDK_GOOGLE // 用户基本信息API接口 userinfo //MSN配置 THINK_SDK_MSN // 用户基本信息API接口 msn。附加参数:token //点点配置 THINK_SDK_DIANDIAN // 用户基本信息API接口 user/info //淘宝网配置 THINK_SDK_TAOBAO // 用户基本信息API接口 taobao.user.buyer.get。附加参数:'fields=user_id,nick,sex,buyer_credit,avatar,has_shop,vip_info' //百度配置 THINK_SDK_BAIDU // 用户基本信息API接口 passport/users/getLoggedInUser // 注意,百度的头像位置是http://tb.himg.baidu.com/sys/portrait/item/{$data['portrait']} //开心网配置 THINK_SDK_KAIXIN // 用户基本信息API接口 users/me //搜狐微博配置 THINK_SDK_SOHU // 用户基本信息API接口 i/prv/1/user/get-basic-info 4、实例化一个登录页面 redirect($type->getRequestCodeURL()); 这里的$type是第二部获取的结果 5、回调页面 $code = $this->get('code'); $type = 'QQ'; $sns = ThinkOauth::getInstance($type); //腾讯微博需传递的额外参数 $extend = null; if($type == 'tencent'){ $extend = array('openid' => $this->_get('openid'), 'openkey' => $this->_get('openkey')); } //请妥善保管这里获取到的Tok

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧