0

我正在编写一个 Java 网络应用程序,并为其创建了一个 Flickr 应用程序。

如果 Flickr 用户注册我的应用程序,他/她会自动发送到我在 Flickr 应用程序身份验证流程中输入的 URL。与此同时,我收到一个参数frob。我可以使用它来获取该特定用户的 Flickr 用户 ID:

flickrId = flickrj.getAuthInterface().getToken(frob).getUser().getId();

所以效果很好。

但是,如果他/她使用屏幕“您正在使用的应用程序”并单击我的应用程序,据我所知,我不会获得有关用户的任何信息。尽管如此,如果我像使用 flickrj

frob = flickrj.getAuthInterface().getFrob();

我得到了一个类似的 frob 7x1x7x2x2x8x1x1x0-48x9f1xfdbx8ex9d-x00x5x9(请注意,我 x-ed 了一些数字),无论那个 frob 应该是什么。如果我然后使用那个 frob

flickrId = flickrj.getAuthInterface().getToken(frob).getUser().getId();

我遇到一个

com.aetrion.flickr.FlickrException: 108: Invalid frob
    at com.aetrion.flickr.auth.AuthInterface.getToken(AuthInterface.java:182)
    :

我需要做什么来获取有关 Flickr 当前登录用户的信息?我曾希望找到可以在该 URL 中使用的占位符之类的东西,或者 Flickr 会自动发送一些参数,但我找不到有关此的信息。

4

1 回答 1

0

After some more trial and error I simply use the permission URL that flickrj creates.

String frob = flickrj.getAuthInterface().getFrob();
return "redirect:" + flickrj.getAuthInterface().buildAuthenticationUrl(Permission.READ, frob);

This calls the URL I entered in Flickr's authentication flow of the app. The only problem is to distinguish from such a request to when the user came in from Flickr's authorization form.

But that's another story...

于 2011-03-16T15:07:17.527 回答