gpt4 book ai didi

java - OAuth Vimeo 与抄写员 (Java)

转载 作者:行者123 更新时间:2023-11-30 07:27:29 24 4
gpt4 key购买 nike

注意:您只需将我带到一个很好地解释了如何与 Web 服务交互的地方,就可以帮助我解决这个问题。但是,我们将不胜感激对这个特定问题的帮助!

我很难理解 OAuth 的工作原理。我正在尝试开发一个桌面应用程序,它将把一堆视频上传到 Vimeo 上的帐户。我试过对 Scribe API 进行一些修改及其 examples .不幸的是,Scribe 没有 Vimeo 示例,因此我一直在尝试更改 Facebook 示例以使其适用于 Vimeo。关于这一切如何运作的信息很少(我能够 1:找到,2:理解)。就代码和错误而言,这是我所拥有的:

public class VimeoTest
{
private static final String NETWORK_NAME = "Vimeo";
private static final Token EMPTY_TOKEN = null;

public static void main(String[] args)
{
// Replace these with your own api key and secret
String apiKey = "MYAPIKEY";
String apiSecret = "MYAPISECRET";
OAuthService service = new ServiceBuilder()
.provider(VimeoApi.class)
.apiKey(apiKey)
.apiSecret(apiSecret)
.build();
Scanner in = new Scanner(System.in);

System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
System.out.println();
OAuthRequest orequest = new OAuthRequest(Verb.GET, "http://vimeo.com/api/rest/v2");
orequest.addQuerystringParameter("method", "vimeo.test.null");
Response send = orequest.send();
System.out.println(send.getBody());

// Obtain the Authorization URL
System.out.println("Fetching the Authorization URL...");
Token requestToken = service.getRequestToken();

//Breaks on the line above.
//But I think it's because the orequest.send() returned a 100 error code

String authorizationUrl = service.getAuthorizationUrl(requestToken);
System.out.println("Got the Authorization URL!");
System.out.println("Now go and authorize Scribe here:");

//I do NOT want to have to do this. Is there any other way I can have this authorize without going to a web browser to do this?

System.out.println(authorizationUrl);
System.out.println("And paste the authorization code here");
System.out.print(">>");
Verifier verifier = new Verifier(in.nextLine());
System.out.println();

这是输出和错误:

=== Vimeo's OAuth Workflow ===

1.0
<?xml version="1.0" encoding="utf-8"?>
<rsp generated_in="0.0069" stat="fail">
<err code="100" expl="The API key passed was not valid" msg="Invalid API Key" />
</rsp>
Fetching the Authorization URL...
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64
at org.scribe.services.HMACSha1SignatureService.doSign(HMACSha1SignatureService.java:47)
at org.scribe.services.HMACSha1SignatureService.getSignature(HMACSha1SignatureService.java:33)
at org.scribe.oauth.OAuth10aServiceImpl.getSignature(OAuth10aServiceImpl.java:118)
at org.scribe.oauth.OAuth10aServiceImpl.addOAuthParams(OAuth10aServiceImpl.java:63)
at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:43)
at autouploadermodel.VimeoTest.main(VimeoTest.java:38)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.binary.Base64
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 6 more
Java Result: 1

无论如何,我敢打赌这真的很简单,但我只是不明白如何与 Web 服务交互。感谢您的帮助!

最佳答案

您需要包括 apache commons codec在你的类路径上

关于java - OAuth Vimeo 与抄写员 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9671742/

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