首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >桌面Flickrj Java身份验证流程

桌面Flickrj Java身份验证流程
EN

Stack Overflow用户
提问于 2010-07-29 16:30:05
回答 1查看 1.1K关注 0票数 2

我正在使用Flickrj API登录flickr。对于只读访问,它的好,但我似乎不能正确的时候,我需要写访问添加标签到照片。

据我所知,基本流程

  1. 得到一只冰霜
  2. 通过frob请求写访问,这将返回一个URL。
  3. 调用URL来接收flickr令牌
  4. 在所有后续请求中使用令牌

我目前的代码是

代码语言:javascript
复制
Flickr f = new Flickr(properties.getProperty(APIKEY),properties.getProperty(SECRET),t);
System.out.println(f.toString());

// 1 get a frob
AuthInterface authInterface = f.getAuthInterface();
String frob = authInterface.getFrob();
System.out.println("first frob "+frob);

// 2 get a request URL
URL url = f.getAuthInterface().buildAuthenticationUrl(Permission.WRITE,frob);
System.out.println(url.toString());

// 3 call the auth URL

// 4 get token
f.getAuthInterface().getToken(frob);

如你所见-我被困在第三步了?

EN

回答 1

Stack Overflow用户

发布于 2012-03-28 15:37:48

我有一个错误,代码授予我没有读取权限..我不知道为什么..。

但否则我有一只青蛙和一只记号..。而且很管用!!

代码语言:javascript
复制
        // Step 1) Get Frob
        AuthInterface ai = f.getAuthInterface();        
        String frob = ai.getFrob();
        System.out.println("frob: "+frob); //--> It Works !!

        // Step 2) URL With Permissions
        URL uc = ai.buildAuthenticationUrl(Permission.READ, frob);
        String request = uc.toExternalForm();
        uc.openConnection();

        // Step 3) Call URL
        System.out.println(request);
        URI uri = new URI(request);
        Desktop desktop = null;
        if (Desktop.isDesktopSupported()) 
        {
            desktop = Desktop.getDesktop();
        }

        if (desktop != null) 
        {
            desktop.browse(uri);   // Open Explorer to Confirm        
        }
        // Sleep until accepted in the explorer. After Press enter in Console
        BufferedReader infile = new BufferedReader ( new InputStreamReader (System.in) );
        String line = infile.readLine();

        // Step 4) Get a token
        Auth atoken = ai.getToken(frob); // Get a Token with a frob
        String stoken = atoken.getToken(); // Get a token like String
        System.out.println("Token: "+stoken);
        Auth au = ai.checkToken(stoken);   // Check token

        RequestContext.getRequestContext().setAuth(au);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3364832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档