gpt4 book ai didi

java - 在 Android 上使用 Scribe OAuth Java 库时出错

转载 作者:太空宇宙 更新时间:2023-11-04 13:31:58 25 4
gpt4 key购买 nike

我在 Android 上使用 Scribe 库来获取 Flickr OAuth token 。

我使用了

中提供的相同示例

https://github.com/fernandezpablo85/scribe-java/blob/master/src/test/java/org/scribe/examples/FlickrExample.java

将 System.out.println 替换为 Log.d。

 private static final String PROTECTED_RESOURCE_URL = "https://api.flickr.com/services/rest/";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Replace these with your own api key and secret
String apiKey = "xxxx989907fxxxxxxxxxxxxxxxxxxxx";
String apiSecret = "fbxxxxx7dxxxxx8";
OAuthService service = new ServiceBuilder().provider(FlickrApi.class).apiKey(apiKey).apiSecret(apiSecret).build();
Scanner in = new Scanner(System.in);

Log.d("","=== Flickr's OAuth Workflow ===");
System.out.println();

// Obtain the Request Token
Log.d("", "Fetching the Request Token...");
Token requestToken = service.getRequestToken();
Log.d("", "Got the Request Token!");
System.out.println();

Log.d("", "Now go and authorize Scribe here:");
String authorizationUrl = service.getAuthorizationUrl(requestToken);
Log.d("", authorizationUrl + "&perms=read");
Log.d("", "And paste the verifier here");
Log.d("", ">>");
Verifier verifier = new Verifier(in.nextLine());
System.out.println();

// Trade the Request Token and Verfier for the Access Token
Log.d("", "Trading the Request Token for an Access Token...");
Token accessToken = service.getAccessToken(requestToken, verifier);
Log.d("", "Got the Access Token!");
Log.d("", "(if your curious it looks like this: " + accessToken + " )");
Log.d("", "(you can get the username, full name, and nsid by parsing the rawResponse: " + accessToken.getRawResponse() + ")");
System.out.println();

// Now let's go and ask for a protected resource!
Log.d("", "Now we're going to access a protected resource...");
OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL);
request.addQuerystringParameter("method", "flickr.test.login");
service.signRequest(accessToken, request);
Response response = request.send();
Log.d("", "Got it! Lets see what we found...");
System.out.println();
Log.d("", response.getBody());

System.out.println();
Log.d("", "Thats it man! Go and build something awesome with Scribe! :)");
}

我收到此错误 -

There was a problem while creating a connection to the remote service.

这里有什么问题吗?

最佳答案

供您引用:

网络操作不应在主 UI 线程中使用。将这些操作作为后台操作进行。

有关更多详细信息,请参阅 Android 中的 AsyncTask。它解决了连接网络问题。希望这会有所帮助。

关于java - 在 Android 上使用 Scribe OAuth Java 库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32087087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com