0

在将我的 android 应用程序连接到 youtube API 时,我遇到了巨大的问题。首先,我尝试使用原生 youtube gdata java 客户端(http://code.google.com/p/gdata-java-client/)。我已经读到这可以很容易地集成到一个 android 应用程序中,所以我开始这样做,但每次在线时我都会绊倒

    YouTubeService ytservice = new YouTubeService("AppName",Dev_Key);   

我会在此处输入正确的详细信息,甚至拥有所有必要的外部 jar,但每次我都会收到 NoClassDefFoundError 报告,报告找不到 YouTubeService,也找不到它的超类 MediaService。(你知道,我有 gdata-youtube-2.0.jar、gdata-client-1.0.jar、gdata-media-1.0.jar、guava.11.0.2.jar 和 jsr305.jar)

然后我尝试了似乎支持 android ( http://code.google.com/p/google-api-java-client/wiki/Android )。甚至还有一个示例示例,其中集成了 google 任务,因此看起来很有希望。它没有一个实际的 YouTube 类,但它确实支持 OAuth 2.0 登录,我可以通过将 URL 请求发送到具有 OAuth 2.0 身份验证的 youtube API 来使用它。我尝试了这个,但是当我可以从它与 android 的 AccountManager 组合中获得的唯一密钥是身份验证密钥令牌时。将此与向 google 的 URL 请求一起发布会导致来自 youtube 的“需要身份验证”响应(因为我提供了不正确的访问令牌,它至少是我与之比较的工作访问令牌的两倍)。

如何从 AccountManager 中找到 youtube API 所需的访问令牌?或者更好的是,我怎样才能让 YouTube 服务正常工作?谢谢

罗里

编辑

Amad,感谢您的回答,但不幸的是,这就是我已经在做的事情:( 来源:themobilelook.com

如果我提供我的项目文件夹也许会有所帮助: 是一个准系统设置,实际上只是为了测试 YouTubeService 是否有效。

使用 adt 20,jdk 合规级别 1.6

如果您设法创建一个工作版本,那么如果您可以分享它,那就太好了

4

2 回答 2

1

YouTube API 库必须包含在项目中。通过转到 Project Properties > Build Path > Order and Export 选项卡,您可以勾选所有 YouTube-API 相关库旁边的复选框,以确保在您导出项目时它们将包含在项目中。确保在执行此操作后进行清理和重建。

至于访问令牌......不完全确定。该文档可能会有所帮助。这个 Google Groups 主题也可能有所帮助。

于 2012-10-18T22:32:32.847 回答
0

如果您NoClassDefFoundError在运行时获得,那么我怀疑您没有将它们包括在运行时工作。您必须像这样检查每个 .jar 的复选框:

在此处输入图像描述

(当然,您必须先将它们添加到您的 java 构建路径中)

于 2012-10-18T22:31:58.510 回答