我可以使用Java为LinkedIn开发桌面应用程序吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了我可以使用Java为LinkedIn开发桌面应用程序吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4181字,纯文字阅读大概需要6分钟。
内容图文
![我可以使用Java为LinkedIn开发桌面应用程序吗?](/upload/InfoBanner/zyjiaocheng/673/0f62421aa646475db162879ee1cd1dfb.jpg)
我想知道是否可以使用Java为LinkedIn开发桌面应用程序.我知道可以很容易地将其作为Web应用程序完成,但是完全可以作为桌面应用程序执行吗?
我看了linkedin API和Java Wrapper for LinkedIn.
该代码已针对Web应用程序进行了解释.如何在Java桌面应用程序(特别是授权部分)中进行管理?
使用Swing进行oAuth?
请以正确的方式指导我.
解决方法:
在使用oAuth(使用我自己的包装器)进行了很长时间的测试之后,我选择了Scribe,它是几乎所有oAuth机制的Java包装器.为了将Linkedin包含在桌面客户端中,正如Adam Trachtenberg(再次感谢您)建议的那样,使用了oob选项,即,登录后,必须在我们的客户端中输入由Linkedin生成的代码,以便可以根据请求对它进行验证.网址.希望这对某人有用.
public class LinkedInExample
{
private static final String PROTECTED_RESOURCE_URL = "http://api.linkedin.com/v1/people/~/connections:(id,last-name)";
public static void main(String[] args) throws IOException
{
OAuthService service = new ServiceBuilder()
.provider(LinkedInApi.class)
.apiKey("YourApiKey")
.apiSecret("YourApiSecret")
.build();
Scanner in = new Scanner(System.in);
//BareBonesBrowserLaunch.openURL("www.google.com");
System.out.println("=== LinkedIn's OAuth Workflow ===");
System.out.println();
// Obtain the Request Token
System.out.println("Fetching the Request Token...");
Token requestToken = service.getRequestToken();
System.out.println("Got the Request Token!");
System.out.println();
System.out.println("Now go and authorize Scribe here:");
String authURL = service.getAuthorizationUrl(requestToken);
System.out.println(authURL);
BareBonesBrowserLaunch.openURL("www.google.com");
System.out.println("And paste the verifier 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.getBody());
System.out.println();
System.out.println("Thats it man! Go and build something awesome with Scribe! :)");
}
}
BareBonesBrowserLaunch用于在大多数操作系统中使用带有LinkedIn URL的默认浏览器启动令牌请求.由于Desktop部分在Java 1.5中不可用,因此BareBonesBrowserLaunch解决了该问题.
public class BareBonesBrowserLaunch {
static final String[] browsers = { "google-chrome", "firefox", "opera",
"epiphany", "konqueror", "conkeror", "midori", "kazehakase", "mozilla" };
static final String errMsg = "Error attempting to launch web browser";
public static void openURL(String url) {
try { //attempt to use Desktop library from JDK 1.6+
Class<?> d = Class.forName("java.awt.Desktop");
d.getDeclaredMethod("browse", new Class[] {java.net.URI.class}).invoke(
d.getDeclaredMethod("getDesktop").invoke(null),
new Object[] {java.net.URI.create(url)});
//above code mimicks: java.awt.Desktop.getDesktop().browse()
}
catch (Exception ignore) { //library not available or failed
String osName = System.getProperty("os.name");
try {
if (osName.startsWith("Mac OS")) {
Class.forName("com.apple.eio.FileManager").getDeclaredMethod(
"openURL", new Class[] {String.class}).invoke(null,
new Object[] {url});
}
else if (osName.startsWith("Windows"))
Runtime.getRuntime().exec(
"rundll32 url.dll,FileProtocolHandler " + url);
else { //assume Unix or Linux
String browser = null;
for (String b : browsers)
if (browser == null && Runtime.getRuntime().exec(new String[]
{"which", b}).getInputStream().read() != -1)
Runtime.getRuntime().exec(new String[] {browser = b, url});
if (browser == null)
throw new Exception(Arrays.toString(browsers));
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, errMsg + "\n" + e.toString());
}
}
}
}
LinkedInExample主要来自此库-https://github.com/fernandezpablo85/scribe-java/downloads
不要忘了包括Scribe jar和apache commons编解码器(适用于Base64)
内容总结
以上是互联网集市为您收集整理的我可以使用Java为LinkedIn开发桌面应用程序吗?全部内容,希望文章能够帮你解决我可以使用Java为LinkedIn开发桌面应用程序吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。