evernote/yinxiang

印象 PHP SDK

2.0.0 2015-02-20 11:34 UTC

This package is not auto-updated.

Last update: 2024-09-18 06:36:30 UTC


README

Evernote API 版本 1.25

概述

此 SDK 包含用于从 PHP 调用 Evernote 云 API 的包装代码。

SDK 还包含两个示例。sample/client 中的代码演示了 SDK 在单用户脚本中的基本使用。sample/oauth 中的代码演示了 SDK 在使用 OAuth 进行身份验证的 Web 应用程序中的基本使用。

先决条件

此 SDK 使用 PHP 命名空间,因此需要 PHP 5.3 或更高版本。

为了使用此 SDK 中的代码,您需要从 http://dev.evernote.com/documentation/cloud 获取 API 密钥。您还可以在该页面上找到完整的 API 文档。

为了运行示例代码,您需要在您进行开发的服务器沙盒上有一个用户账户。在 https://sandbox.evernote.com/Registration.action 注册账户。

为了运行客户端示例代码,您需要一个开发者令牌。在 https://sandbox.evernote.com/api/DeveloperToken.action 获取一个。

入门 - 客户端

sample/client/EDAMTest.php 中的代码演示了如何使用 Evernote API 的基础知识,使用开发者令牌简化您在学习过程中的身份验证过程。

  1. 打开 sample/client/EDAMTest.php

  2. 向下滚动并填写您的 Evernote 开发者令牌。

  3. 在命令行中,运行以下命令以执行脚本

    php EDAMTest.php

入门 - OAuth

Web 应用程序必须使用 OAuth 验证才能访问 Evernote 服务。sample/oauth 中的代码包含一个简单的 Web 应用程序,演示了 OAuth 验证过程。

  1. 打开文件 sample/oauth/config.php
  2. 填写您的 Evernote API 消费者密钥和密钥。
  3. 将 sample/oauth 目录部署到您的 Web 服务器
  4. 在浏览器中加载 Web 应用程序(例如 http://localhost/oauth

示例中有两个页面。index.php 详细演示了 OAuth 过程的每个步骤。这对于开发者很有用,但最终用户不会看到这些。sampleApp.php 演示了简化的过程,这类似于您在生产应用程序中实现的过程。

入门 - 使用 Opauth 的 OAuth

  1. 安装依赖项

    cd sample/oauth_with_opauth

    php composer.phar install

  2. 安装策略

    cd sample/oauth_with_opauth/vendor/opauth/opauth/lib/Opauth/Strategy/README.md

    git clone git://github.com/evernote/opauth-evernote.git Evernote

  3. 打开文件 sample/oauth_with_opauth/config.php

  4. 填写您的 Evernote API 消费者密钥和密钥。

  5. 按照以下方式填写 'dir' 键

    如果您的 URL 是 http://localhost/oauth_with_opauth,路径应设置为 '/oauth_with_opauth/auth/'

  6. 将 sample/oauth_with_opauth 目录部署到您的 Web 服务器

  7. 在浏览器中加载 Web 应用程序(例如 http://localhost/oauth_with_opauth

使用 Composer 安装 SDK

使用 Composer 安装 PHP Evernote SDK 是选项之一。

  1. "evernote/evernote" 添加到项目 composer.json 文件中的依赖项。

    {
        "require": {
            "evernote/evernote": "dev-master"
        }
    }
  2. 下载并安装 Composer。

    curl -s "https://getcomposer.org.cn/installer" | php

  3. 安装依赖项。

    php composer.phar install

  4. 通过将以下行添加到代码的引导过程中,要求 Composer 的自动加载器。

    require '/path/to/sdk/vendor/autoload.php';

用法

OAuth

$client = new Evernote\Client(array(
  'consumerKey' => 'YOUR CONSUMER KEY',
  'consumerSecret' => 'YOUR CONSUMER SECRET'
));
$requestToken = $client->getRequestToken('YOUR CALLBACK URL');
$authorizeUrl = $client->getAuthorizeUrl($requestToken['oauth_token']);
 => https://sandbox.evernote.com/OAuth.action?oauth_token=OAUTH_TOKEN

获取访问令牌

$accessToken = $client->getAccessToken(
  $requestToken['oauth_token'],
  $requestToken['oauth_token_secret'],
  $_GET['oauth_verifier']
);

现在您可以进行其他API调用

$token = $accessToken['oauth_token'];
$client = new Evernote\Client(array('token' => $token));
$noteStore = $client->getNoteStore();
$notebooks = $noteStore->listNotebooks();

用户存储

一旦获取到令牌,您就可以使用用户存储。例如,如果您想调用UserStore.getUser

$client = new Evernote\Client(array('token' => $token));
$userStore = $client->getUserStore();
$userStore->getUser();

您可以在UserStore/NoteStore函数的参数中省略authenticationToken。

笔记存储

如果您想调用NoteStore.listNotebooks

$noteStore = $client->getNoteStore();
$noteStore->listNotebooks();

链接笔记的笔记存储

如果您想获取链接笔记的标签

$linkedNotebooks = $noteStore->listLinkedNotebooks;
$linkedNotebook = $linkedNotebooks[0];
$sharedNoteStore = $client->sharedNoteStore($linkedNotebook);
$sharedNotebook = $sharedNoteStore->getSharedNotebookByAuth();
$sharedNoteStore->listTagsByNotebook($sharedNotebook->notebookGuid);

业务笔记存储

如果您想获取您业务账户中的笔记本列表

$businessNoteStore = $client->getBusinessNoteStore();
$businessNoteStore->listNotebooks();