SZNZotero 0.3.4

SZNZotero 0.3.4

测试已测试
语言语言 Obj-CObjective C
许可协议 MIT
发布最新发布2015年11月

Vincent Tourraine 维护。



 
依赖
AFOAuth1Client~> 1.0.0
TBXML~> 1.5
ISO8601DateFormatter~> 0.7
 

SZNZotero 0.3.4

用于 Zotero API 的 Objective-C 客户端。

这仍然处于开发初期,因此在使用它以生产应用时请谨慎行事。此时的任何错误报告、特性请求或一般反馈都将受到高度赞赏。

SZNZotero 是一个针对 iOS 和 Mac OS X 的 Zotero API 客户端,基于 AFNetworking 构建。

入门指南

安装

CocoaPods 是推荐将 SZNZotero 添加到项目的工具。CocoaPods 是 Objective-C 的依赖管理器,自动化并简化了在项目中使用第三方库(如 SZNZotero)的过程。

以下是一个示例 podfile,展示了如何安装 SZNZotero 及其所有依赖项。

platform :ios, '5.0'

pod 'SZNZotero', '~> 0.3.4'

OAuth 回调 URL

Zotero API v2 使用 3 步OAuth 1.0 认证。为了获取受保护资源,你的应用程序将打开 Mobile Safari 并提示用户凭据。然后 iOS 将回到你的应用程序使用自定义 URL schema。这意味着你需要在 Xcode 项目中设置此配置。

  • 打开项目编辑器,选择主目标,点击 Info 按钮。
  • 添加一个 URL 类型,并输入一个唯一的 URL schema(例如 'myzoteroclient')。
  • 更新你的 App Delegate 以通知 SZNZotero,如下所示
#import "AFOAuth1Client.h"

NSString * const SZNURLScheme = @"##my_URL_scheme##";

(…)

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    if ([url.scheme isEqualToString:SZNURLScheme]) {
        NSNotification *notification = [NSNotification notificationWithName:kAFApplicationLaunchedWithURLNotification object:nil userInfo:@{kAFApplicationLaunchOptionsURLKey: url}];
        [[NSNotificationCenter defaultCenter] postNotification:notification];
    }

    return YES;
}

应用程序凭据

你需要使用你的 API 客户端密钥和密钥进行 Zotero API 客户端实例化

NSString *clientKey    = @"###my_consumer_key###";
NSString *clientSecret = @"###my_consumer_secret###";

SZNZoteroAPIClient *client = [[SZNZoteroAPIClient alloc] initWithKey:clientKey secret:clientSecret URLScheme:SZNURLScheme];

如果你没有客户端密钥和密钥,你必须在 Zotero 中注册你的应用程序。

示例

如何获取集合中的顶部项

SZNCollection *parentCollection = ...;

[parentCollection fetchTopItemsSuccess:^(NSArray *items) {
     /* ... */
} failure:^(NSError *error) {
    /* ... */
}];

如何创建一个新的项

SZNLibrary *library = ...;
NSDictionary *itemFields = ...;

[SZNItem createItemInLibrary:library content:itemFields success:^(SZNItem *newItem) {
     /* ... */
} failure:^(NSError *error) {
    /* ... */
}];

参考

需求

SZNZotero 需要 Xcode 4.4、iOS 5.0 或 Mac OS X 10.7 中的一个,以及 AFNetworkingAFOAuth1ClientTBXMLISO8601DateFormatter。SZNZotero 使用 ARC

鸣谢

SZNZotero 由 shazino 开发。

许可证

SZNZotero 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。