您是否导入了正确的 JAR?我不确定你是如何得到这个错误的。
我导入了这些 JAR:
gdata-client-1.0.jar
gdata-core-1.0.jar
gdata-youtube-2.0.jar
guava-11.0.2.jar
mail.jar
gdata-client-meta-1.0.jar
gdata-media-1.0.jar
gdata-youtube-meta-2.0.jar
jsr305.jar
当您解压缩 GData zip 文件时,这些文件位于 gdata/java/lib 中。依赖项位于 gdata/java/deps 中,mail.jar 位于此处。
我有这些进口:
import com.google.gdata.client.youtube.YouTubeService;
import com.google.gdata.data.geo.impl.GeoRssWhere;
import com.google.gdata.data.media.mediarss.MediaKeywords;
import com.google.gdata.data.media.mediarss.MediaPlayer;
import com.google.gdata.data.media.mediarss.MediaThumbnail;
import com.google.gdata.data.youtube.VideoEntry;
import com.google.gdata.data.youtube.VideoFeed;
import com.google.gdata.data.youtube.YouTubeMediaContent;
import com.google.gdata.data.youtube.YouTubeMediaGroup;
import com.google.gdata.data.youtube.YouTubeMediaRating;
import com.google.gdata.data.youtube.YtPublicationState;
import com.google.gdata.data.youtube.YtStatistics;
import com.google.gdata.util.ServiceException;
我的代码如下。我省略了打印功能。此外,为了简化示例代码,我使用 ClientLogin -不要在实际应用程序中使用 ClientLogin
String feedUrl = "http://gdata.youtube.com/feeds/api/standardfeeds/most_viewed";
YouTubeService service = new YouTubeService("youtube", "DEVELOPER_KEY_HERE");
service.setUserCredentials("LOGIN@gmail.com", "YOUR_PASSWORD_HERE");
VideoFeed videoFeed = service.getFeed(new URL(feedUrl), VideoFeed.class);
printVideoFeed(videoFeed, true);
请注意,如果可能,您应该查看v3 API。