目的:
我正在使用GWT并尝试使用RestyGWT客户端调用现有的Twitter REST服务
问题:
我没有收到对“https://api.twitter.com/1.1/statuses/mentions_timeline.json”
的GET请求的回复我做过的尝试:
我查看了RestyGWT的文档,但我无法找到有关如何调用第三方REST服务的具体示例。 尝试使用明文返回类型调用REST服务,同样的问题。 在一个基本的水平上,肯定有一些我做错了。
CODE:
这是我的onModuleLoad:
public void onModuleLoad() {
Resource r = new Resource("https://api.twitter.com/1.1/statuses/mentions_timeline.json");
r.get().send(new JsonCallback() {
@Override
public void onSuccess(Method method, JSONValue response) {
System.out.println("Twitter response:\tYES");
}
@Override
public void onFailure(Method method, Throwable exception) {
System.out.println("Twitter response:\tNO");
System.out.println("Exception:\t\t"+exception.toString());
System.out.println("Exception Message:\t"+exception.getMessage());
System.out.println("Status code:\t\t"+method.getResponse().getStatusCode() );
}
});
}
输出:
GWT MODULE LOADED
Twitter response: NO
Exception: org.fusesource.restygwt.client.FailedStatusCodeException:
Exception Message:
Status code: 0
答案 0 :(得分:0)
如果您正在访问不属于您的远程服务,则通常必须发送JSONP请求以解决相同的源策略。因此,请尝试使用r.jsonp()
代替r.get()
。
答案 1 :(得分:0)
jsonp至少调用服务方法,但是状态代码为0的异常。但是get甚至没有达到服务方法。