2

我想通过我们的应用程序(图像或文本或两者)在“EverNote”中存储一些数据。

我用谷歌搜索,我得到了一些指导,比如 EverNote SDK,我也得到了 EverNoteCounter 示例(当我运行这个时,当我点击 getCount 按钮时,它会显示一条警告消息“无法验证”)。我也生成了开发者令牌。

但我无法创建consumerKey、consumerSecret。而且我也没有找到如何将我们的数据从我们的应用程序存储到印象笔记。

我有一些像这样的链接

但是当我通过该链接时,它说(此 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);
    }];
}

请建议我链接或给我指导

非常感谢提前

4

2 回答 2

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/

于 2012-12-27T18:25:43.097 回答
0

你解决了吗?如果没有,我做了以下工作来让它工作:

  1. 下载并包含 sdk
  2. 获取 consumerKey 和 secret(如果您也想访问笔记,那么您应该请求完全访问权限,而不是基本访问,http://dev.evernote.com/documentation/cloud/右上角)
  3. 在 info.plist 中添加 URLType 条目(“修改应用程序的主 plist 文件”章节https://github.com/evernote/evernote-sdk-ios
  4. 复制session init代码(填写consumer key和secret,hostname保持不变),实现两个applicationdelegate具体代码
  5. 一个(屏幕上的)viewcontroller 应该被传递给验证用户的authenticateWithViewController方法,fe appdelegate 的 rootViewController

研究此页面以了解 Evernote 使用的模型层次结构:

http://dev.evernote.com/documentation/cloud/chapters/data_structure.php http://dev.evernote.com/documentation/reference/Types.html

图像可以在字段中存储为 EDAMResource(资源),data文本在字段中存储为 EDAMNote(注释)content。两者都由 Evernote SDK 的EvernoteNoteStore对象处理。

于 2013-04-18T08:46:03.043 回答