介绍 Spring Social Slideshare

工程 | Josh Long | 2015年2月3日 | ...

本文由社区成员 Tadaya Tsuyukubo (@ttddyy)撰写,他是 Spring Social Slideshare 项目的创建者。感谢 Tadaya!我希望看到更多这样的客座帖子,所以 - 像往常一样 - 不要犹豫联系我! -Josh


Spring Social SlideshareSpring Social 生态系统中的一个社区模块。它是一个基于 Spring Social 框架构建的 Java 绑定,用于与 SlideShare REST API 进行交互。

Spring Social 模块提供了一个 ApiBinding 接口的实现,该接口将 Java 接口和具体的实现类绑定到 REST API。按照惯例,接口以目标服务命名,例如 GitHubLinkedInFacebook 等。实现类的形式为 *Template,例如:GitHubTemplateLinkedInTemplateFacebookTemplate。在 Spring Social Slideshare 中,有一个 Slideshare 接口和 SlideshareTemplate 实现类。您可以使用 spring 将 SlideshareTemplate 注入到您的服务中。或者,如果您愿意,可以直接实例化 SlideshareTemplate 并在 spring 的 DI 之外与 SlideShare API 交互。

创建一个 SlideShare 实例

您需要申请 SlideShare API 密钥。提交申请表后,您将收到一封包含 “API Key”“Shared Secret” 的电子邮件。您需要这两个密钥才能访问 SlideShare API。

这是该模块与 SlideShare API 交互的核心部分。

SlideShare slideshare = new SlideShareTemplate("api_key", "shared_secret");
SlideshowOperations slideshow = slideshare.slideshowOperations();

现在,您可以通过 slideshow 实例执行与演示文稿相关的操作。

检索特定的 Slideshow

可以通过幻灯片 ID 或 URL 检索特定的幻灯片。

// get a slideshow "Booting up Spring Social"
Slideshow show = slideshow.getSlideshowById("41084028");

// By url
Slideshow show =  slideshow.getSlideshowByUrl(
  "http://www.slideshare.net/SpringCentral/booting-up-spring-social");

您可以获取许多不同的属性,包括幻灯片的 idurltitledescriptioncreatedusernamedownloadUrl。如果您想在 HTML 中嵌入演示文稿,请使用 embed 属性。

此外,您还可以按用户、标签或组检索幻灯片。

GetSlideshowsResponse response;

// by user
response = slideshow.getSlideshowsByUser(
  "SpringCentral", FETCH_SIZE);

// you can also specify offset and detailed flag
response = slideshow.getSlideshowsByUser("SpringCentral",
  FETCH_SIZE, offset, true);

// by tag or group
response = slideshow.getSlideshowsByTag("spring", FETCH_SIZE);
response = slideshow.getSlideshowsByGroup("group_name", FETCH_SIZE);

// You can print the `count` and `name`
List<Slideshow> shows = response.getSlideshows();    // list of slideshows

执行搜索

您可以按关键词搜索幻灯片

SearchSlideshowsResponse response;
response = slideshow.searchSlideshows("spring");

// paginated access
int page = 3;
int itemsPerPage = 20;
response = slideshow.searchSlideshows("spring", page, itemsPerPage);

List<Slideshow> shows = response.getSlideshows();

每个响应都有 numResultstotalResults 属性,分别提供了返回结果的数量和结果集合的总数。

创建和上传演示文稿

您可以通过指定 java.io.FileString 和 Spring 的 Resource 层次结构的实现来上传演示文稿。

注意: SlideShare API 需要额外的上传操作权限。请参阅“SlideShare API 文档”,了解如何在您的开发账户上申请上传权限。


File file = new File( "path_to_your_presentation_file");
String uploadedShowId = slideshow.uploadSlideshowFromFile(
  username, password, file, "My Title", "My Description");

// Other API to upload slideshows
//   slideshow.uploadSlideshowResource(...)
//   slideshow.uploadSlideshowFromContent(...)
//   slideshow.uploadSlideshowFromUrl(...)

您也可以修改演示文稿的信息。


List<String> tags = Arrays.asList("spring", "social");
PrivacySetting privacy = new PrivacySetting();
privacy.setMakeSlideshowPrivate(false);    // make slideshow public

String editedShowId = slideshow.editSlideshow(username, password,
    "01234", "New Title", "New Desc", tags, privacy);

您可以简单地按 ID 删除幻灯片。

String deletedShowId = slideshow.deleteSlideshow(username, password, "01234");

下一步是什么?

Slideshare API 提供了支持幻灯片、用户、收藏夹和潜在客户/推广活动的四个功能区域。Spring Social Slideshare 的当前版本仅支持特定于幻灯片的操作。

该项目正在不断发展。请随时联系我在 GitHub 上创建问题,或发送拉取请求以进行特定改进。

总结

如果您的应用程序需要与 SlideShare 集成,Spring Social Slideshare 是一种简单且熟悉的方法。我创建了一个示例项目,演示了本文中解释的基本操作。从这里开始。感谢您阅读本文。

获取 Spring 新闻通讯

订阅 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅,为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部