2014-07-05 59 views
0

要使用我的应用程序,用户必须登录到他们的Instagram帐户,并授予我的应用程序访问其信息的权限。Vaadin with Instagram API

完成此操作后,会返回一个代码附在后面的网址(例如www.google.com/code=123456789)。

该代码是交换访问令牌。

我的问题是:

可我的应用程序自动从URL中的代码,并使用它,而不必复制并粘贴在用户的?

谢谢您的阅读!

代码:

TextField code = new TextField("Enter Code: "); 

Button button = new Button("Click here to authenticate"); 

String callbackUrl = "http://reveal-it.appspot.com/oauthtest"; 

String clientID = "XXX"; 

String clientSecret = "XXX"; 

Token EMPTY_TOKEN = null; 

InstagramService service = new 
InstagramAuthService().apiKey(clientId) 
         .apiSecret(clientSecret) 
         .callback(callbackUrl) 
         .build(); 

String authorizationUrl = service.getAuthorizationUrl(EMPTY_TOKEN); 



button.addClickListener(new Button.ClickListener() { 

    public void buttonClick(ClickEvent event) { 
     getUI().getPage().open(authorizationUrl, "_blank"); 
     next(); 
    } 
}); 

public void next(){ 

    String verifierCode = code.getValue(); 

    Verifier verifier = new Verifier(verifierCode); 

    Token accessToken = service.getAccessToken(EMPTY_TOKEN, verifier); 

    Instagram instagram = new Instagram(accessToken); 

    UserInfo userInfo = instagram.getCurrentUserInfo();  

} 

步骤1:验证用户 enter image description here

步骤2:获取URL与连接在该用户具有复制并粘贴到文本字段 (这是一个测试背面代码打印代码的网址) enter image description here

+0

你不知道如何自动获得访问令牌?即时通讯也使用jinstagram太多,而不是copypasting _authorizationUrl_每次我试图访问URL与HttpURLConnection但它不会像'www.mysite.com/instagram/oauth?代码= ACCESS_TOKEN'返回something“ –

回答

0

这些社交平台通常使用oauth进行登录和授权。 这里有一个vaadin插件。

https://vaadin.com/directory#addon/oauth-popup-add-on

+0

我得到”对不起,请求添加 - 无法找到。“当我点击那个链接。 – user3702643

+0

对不起,更正了链接,没有https需要。 如果仍然无法正常工作,请搜索插件: OAuth弹出式附加组件 –