我想通过我们的应用程序(图像或文本或两者)在“EverNote”中存储一些数据。
我用Google搜索,我得到了一些像EverNote SDK的指导,我也得到了EverNoteCounter示例(当我运行它时,当我点击getCount按钮时,它会显示一条警告消息“无法进行身份验证”)。 我也生成了开发人员令牌。
但我无法创建consumerKey,consumerSecret。而且我也没有找到如何将我们的数据存储到我们的应用程序中。
我收到了一些像this一样
的链接但是当我浏览该链接时(此URL不支持HTTP方法GET)
我能够通过EVERNOTE进行身份验证,并且能够获得该帐户中的笔记本数量。
我在我的应用中使用sqllite。我正在使用一个文件夹的图像。 Sqllite有图像链接信息。
如何存储数据。
我使用以下代码进行身份验证并获取计数
- (IBAction)retrieveUserNameAndNoteCount:(id)sender
{
// Create local reference to shared session singleton
EvernoteSession *session = [EvernoteSession sharedSession];
[session authenticateWithViewController:self completionHandler:^(NSError *error) {
// Authentication response is handled in this block
if (error || !session.isAuthenticated) {
// Either we couldn't authenticate or something else went wrong - inform the user
if (error) {
NSLog(@"Error authenticating with Evernote service: %@", error);
}
if (!session.isAuthenticated) {
NSLog(@"User could not be authenticated.");
}
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Error"
message:@"Could not authenticate"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] autorelease];
[alert show];
} else {
// We're authenticated!
EvernoteUserStore *userStore = [EvernoteUserStore userStore];
// Retrieve the authenticated user as an EDAMUser instance
[userStore getUserWithSuccess:^(EDAMUser *user) {
// Set usernameField (UILabel) text value to username
[usernameField setText:[user username]];
// Retrieve total note count and display it
[self countAllNotesAndSetTextField];
} failure:^(NSError *error) {
NSLog(@"Error retrieving authenticated user: %@", error);
}];
}
}];
}
- (void)countAllNotesAndSetTextField
{
// Allow access to this variable within the block context below (using __block keyword)
__block int noteCount = 0;
EvernoteNoteStore *noteStore = [EvernoteNoteStore noteStore];
[noteStore listNotebooksWithSuccess:^(NSArray *notebooks) {
for (EDAMNotebook *notebook in notebooks) {
if ([notebook guid]) {
EDAMNoteFilter *filter = [[EDAMNoteFilter alloc] init];
[filter setNotebookGuid:[notebook guid]];
[noteStore findNoteCountsWithFilter:filter withTrash:NO success:^(EDAMNoteCollectionCounts *counts) {
if (counts) {
// Get note count for the current notebook and add it to the displayed total
NSNumber *notebookCount = (NSNumber *)[[counts notebookCounts] objectForKey:[notebook guid]];
noteCount = noteCount + [notebookCount intValue];
NSString *noteCountString = [NSString stringWithFormat:@"%d", noteCount];
[noteCountField setText:noteCountString];
}
} failure:^(NSError *error) {
NSLog(@"Error while retrieving note counts: %@", error);
}];
}
}
} failure:^(NSError *error) {
NSLog(@"Error while retrieving notebooks: %@", error);
}];
}
请建议我链接或给我指导
提前多多感谢
答案 0 :(得分:2)
只需访问自己的帐户即可使用开发人员令牌。要获得消费者密钥/秘密,请转到此处:http://dev.evernote.com/documentation/cloud/。
如果您使用的是iOS,https://github.com/evernote/evernote-sdk-ios有一个示例应用,您可以在拥有消费者密钥和密钥后使用该应用。
一般来说,dev.evernote.com上有很多信息。
所有SDK均位于https://github.com/evernote
iOS入门指南:http://blog.evernote.com/tech/2012/05/24/evernote-sdk-integration-ios/
答案 1 :(得分:0)
你解决了吗?如果没有,我做了以下工作让它工作:
authenticateWithViewController
方法,例如。 appdelegate的rootViewController 研究此页面以了解Evernote使用的模型层次结构:
http://dev.evernote.com/documentation/cloud/chapters/data_structure.php http://dev.evernote.com/documentation/reference/Types.html
图像可以在字段data
中存储为EDAMResource(资源),在字段content
中作为EDAMNote(注释)存储。两者都由Evernote SDK的EvernoteNoteStore
对象处理。