我想在我的应用程序中嵌入twitter发布功能。 我正在使用twitter api_me-1.8 我能够到达登录界面(虽然大部分文字都显示为方框 - 我猜这个文字是印地文/泰米尔语,因为我在印度...),但是一旦我输入我的凭据,我进入另一个页面顶部有一些文字的页面...... 以下更多的英文文本(你可以撤销对任何应用程序的访问...)...然后我在一分钟后得到一个illeagalArguementException ......
我试图调试应用程序,
public TwitterUiScreen(String wallMsg) {
System.out.println("Twitter UI BEGINS!");
setTitle("Twitter");
this.wallMsg = wallMsg;
BrowserContentManager browserMngr = new BrowserContentManager(0);
RenderingOptions rendOptions = browserMngr.getRenderingSession()
.getRenderingOptions();
rendOptions.setProperty(RenderingOptions.CORE_OPTIONS_GUID,
RenderingOptions.SHOW_IMAGES_IN_HTML, false);
rendOptions.setProperty(RenderingOptions.CORE_OPTIONS_GUID,
RenderingOptions.ENABLE_EMBEDDED_RICH_CONTENT, true);
rendOptions.setProperty(RenderingOptions.CORE_OPTIONS_GUID,
RenderingOptions.DEFAULT_FONT_FACE, true);
rendOptions.setProperty(RenderingOptions.CORE_OPTIONS_GUID,
RenderingOptions.DEFAULT_CHARSET_VALUE, true);
rendOptions.setProperty(RenderingOptions.CORE_OPTIONS_GUID,
RenderingOptions.JAVASCRIPT_ENABLED, true);
/*
* browserMngr.getRenderingSession().getRenderingOptions().setProperty(
* RenderingOptions.CORE_OPTIONS_GUID,
* RenderingOptions.DEFAULT_FONT_FACE, Font.getDefaultFont());
*/
add(browserMngr);
OAuthDialogWrapper pageWrapper = new BrowserContentManagerOAuthDialogWrapper(browserMngr);
pageWrapper.setConsumerKey(CONSUMER_KEY);
pageWrapper.setConsumerSecret(CONSUMER_SECRET);
pageWrapper.setCallbackUrl(CALLBACK_URL);
pageWrapper.setOAuthListener(this);
pageWrapper.login();
}
我有断点到最后一行,所有人都被击中,没有任何问题...... 但是一旦我登录,我就会遇到异常。(我想这是在这个页面中: - BrowserContentManagerOAuthDialogWrapper.java(版本1.1:45.3,超级位) 之后我进入第三个屏幕。
评论几乎不可读 - 所以我想我也可以在这里添加代码:
public static final String OAUTH_CALLBACK_SCHEME = "x-oauthflow-twitter";
public static final String OAUTH_CALLBACK_HOST = "callback";
public static final String OAUTH_CALLBACK_URL = OAUTH_CALLBACK_SCHEME+ "://" + OAUTH_CALLBACK_HOST;
private final String CALLBACK_URL = OAUTH_CALLBACK_URL;
我设法获取源并将其附加到jar文件。 BrowserContentManagerOAuthDialogWrapper.java抛出的异常是:: Protocol not found:net.rim.device.cldc.io.x-oauthflow-twitter.Protocol 在这个方法::
protected void loadUrl(final String url, final byte[] postData,
final Event event) {
new Thread() {
public void run() {
try {
HttpConnection conn = getConnection(url);
//
if (postData != null) {
conn.setRequestMethod(HttpConnection.POST);
conn.setRequestProperty(
"Content-Type",
"application/x-www-form-urlencoded");
conn.setRequestProperty(
"Content-Length", String.valueOf(postData.length));
//
OutputStream out = conn.openOutputStream();
out.write(postData);
out.close();
}
//
browserManager.setContent(
conn, renderingListenerOAuth, event);
} catch (IOException e) {
throw new IllegalArgumentException(e.getMessage());
}
}
}.start();
}
答案 0 :(得分:0)
客户认为它不起作用,因为在我们尝试登录后,发布时间过长,并显示第三个屏幕约20秒,他们似乎已提前点击,决定发布不行。
现在我需要想办法在第三个屏幕上发布消息,要求用户等待帖子成功。