ASPinboard是Pinboard的Objective-C库,为Pushpin提供动力。它使用现代Objective-C功能(如ARC和blocks),支持iOS 5.1+,并且很容易集成。截至2013年1月,ASPinboard已完全支持Pinboard API中的每个端点,除了posts/recent。
您首先想要做的是将ASPinboard目录中的文件添加到您的应用程序中。或者,您可以拖放Xcode项目到现有的应用程序中,并创建一个工作空间。这完全取决于您。
ASPinboard使用Pinboard的身份验证令牌来访问受保护资源。您可以使用authenticateWithUsername:password:success:failure
方法检索令牌。
void (^loginFailureBlock)(NSError *);
loginFailureBlock = ^(NSError *error) {
if (error.code == PinboardErrorInvalidCredentials) {
// An invalid username or password was provided.
}
else if (error.code == PinboardErrorTimeout) {
// The authentication request will time out if
// it takes longer than 20 seconds to respond.
}
};
ASPinboard *pinboard = [ASPinboard sharedInstance];
[pinboard authenticateWithUsername:PINBOARD_USERNAME
password:PINBOARD_PASSWORD
success:^(NSString *token) {
NSLog(@"Your Pinboard API token is: %@", token);
}
failure:loginFailureBlock];
身份验证后,ASPinboard会将其内部存储的令牌用于未来的请求。
如果您想使用之前存储或从设置页面复制的令牌,请在使用ASPinboard请求受保护资源之前,在ASPinboard共享实例上使用setToken
方法。
[pinboard setToken:token];
现在您已经有了令牌,我们来抓取您的书签,好吗?
void (^successBlock)(NSArray *, NSDictionary *);
successBlock = ^(NSArray *bookmarks, NSDictionary *parameters) {
NSLog(@"Here are your bookmarks:");
for (id bookmark in bookmarks) {
NSLog(@"url: %@", bookmark[@"href"]);
}
};
void (^failureBlock)(NSError *);
failureBlock = ^(NSError *error) {
if (error != nil) {
NSLog(@"Houston, we have a problem.");
}
};
[pinboard bookmarksWithSuccess:successBlock failure:failureBlock];
[pinboard addBookmarkWithURL:@"https://pinboard.in/"
title:@"Pinboard"
description:@"A cool bookmarking site"
tags:@"bookmarking services"
shared:YES
unread:NO
success:^{}
failure:failureBlock];
此方法也可以用来更新现有的书签。更多详细信息,请参阅Pinboard文档中的posts/add。
请参阅ASPinboard.h以获取支持方法的全列表。
ASPinboard可在Apache许可证,版本2.0下使用。请查阅LICENSE获取更多详细信息。