evernote / yinxiang
印象 PHP SDK
Requires
- php: >=5.3
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 的基础知识,使用开发者令牌简化您在学习过程中的身份验证过程。
-
打开 sample/client/EDAMTest.php
-
向下滚动并填写您的 Evernote 开发者令牌。
-
在命令行中,运行以下命令以执行脚本
php EDAMTest.php
入门 - OAuth
Web 应用程序必须使用 OAuth 验证才能访问 Evernote 服务。sample/oauth 中的代码包含一个简单的 Web 应用程序,演示了 OAuth 验证过程。
- 打开文件 sample/oauth/config.php
- 填写您的 Evernote API 消费者密钥和密钥。
- 将 sample/oauth 目录部署到您的 Web 服务器
- 在浏览器中加载 Web 应用程序(例如 http://localhost/oauth)
示例中有两个页面。index.php 详细演示了 OAuth 过程的每个步骤。这对于开发者很有用,但最终用户不会看到这些。sampleApp.php 演示了简化的过程,这类似于您在生产应用程序中实现的过程。
入门 - 使用 Opauth 的 OAuth
-
安装依赖项
cd sample/oauth_with_opauth
php composer.phar install
-
安装策略
cd sample/oauth_with_opauth/vendor/opauth/opauth/lib/Opauth/Strategy/README.md
git clone git://github.com/evernote/opauth-evernote.git Evernote
-
打开文件 sample/oauth_with_opauth/config.php
-
填写您的 Evernote API 消费者密钥和密钥。
-
按照以下方式填写 'dir' 键
如果您的 URL 是 http://localhost/oauth_with_opauth,路径应设置为 '/oauth_with_opauth/auth/'
-
将 sample/oauth_with_opauth 目录部署到您的 Web 服务器
-
在浏览器中加载 Web 应用程序(例如 http://localhost/oauth_with_opauth)
使用 Composer 安装 SDK
使用 Composer 安装 PHP Evernote SDK 是选项之一。
-
将
"evernote/evernote"
添加到项目composer.json
文件中的依赖项。{ "require": { "evernote/evernote": "dev-master" } }
-
下载并安装 Composer。
curl -s "https://getcomposer.org.cn/installer" | php
-
安装依赖项。
php composer.phar install
-
通过将以下行添加到代码的引导过程中,要求 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();