xzsoftware / wykopsdk
Wykop Api v2 SDK
2.1.0
2020-04-11 16:35 UTC
Requires
- php: ^7.1
- guzzlehttp/guzzle: ^6.3
- monolog/monolog: ^1.24
Requires (Dev)
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-09-19 22:14:34 UTC
README
WykopSDK 是一个用于 Wykop 的 PHP 软件开发工具包,使开发针对 Wykop 的 PHP 应用程序变得容易。
- 一个简单的类,用于处理具有合理分组的请求。
- 为您处理所有魔法。
- 完全面向对象!
- 在出现问题时抛出异常。
- 抽象API,允许您编写正确的应用程序代码。
use XzSoftware\WykopSDK\Exceptions\ApiException; use XzSoftware\WykopSDK\Profile\Request\Profile; use XzSoftware\WykopSDK\SDK; use XzSoftware\WykopSDK\UserManagement\Request\Login; $sdk = SDK::buildNewSDK('APP_KEY','APP_SECRET'); try { $loginResponse = $sdk->auth()->logIn(new Login('USER_NAME', 'USER_ACCOUNT_KEY')); $sdk->auth()->authUser('micke', $loginResponse->getUserKey()); $sdk->profiles()->getProfile(new Profile('micke')); } catch (ApiException $e) { echo $e->getMessage(); die(); }
安装
推荐通过Composer进行安装。
# Install Composer curl -sS https://getcomposer.org/installer | php
接下来,运行Composer命令安装最新稳定版本
php composer.phar require xzsoftware/wykopsdk
安装后,您需要要求Composer的自动加载器
require 'vendor/autoload.php';
然后您可以稍后使用composer更新wykopSDK
php composer.phar update
用法
始终从创建新的SDK实例开始。它需要您的Wykop App Key和Secret -> 您可以在此处获取。
您还可以创建新应用。请记住检查所有需要的权限
$sdk = XzSoftware\WykopSDK\SDK\SDK::buildNewSDK('APP_KEY','APP_SECRET');
身份验证
如果您想做一些事情,您需要从用户身份验证开始。首先,用户需要通过应用程序连接链接进行连接。
$sdk = XzSoftware\WykopSDK\SDK\SDK::buildNewSDK('APP_KEY','APP_SECRET'); $sdk->auth()->getConnectLink('127.0.0.1/redirectUrl'); // will return url that yuser needs to follow to access your app. He will be then redirected to redirectUrl param. // on redirect page you need to read connect data $data = $sdk->auth()->getAuthFromConnectData( $_GET['connectData'] ); // now you can authenticate user with this data: $sdk->auth()->authUser($data->getLogin(), $data->getToken())
另一种选择是通过USER_APP_KEY访问连接,用户需要将其从他的设置中传递,这是一个针对高级用户的更“封闭”选项
use XzSoftware\WykopSDK\SDK; use XzSoftware\WykopSDK\UserManagement\Request\Login; $sdk = SDK::buildNewSDK('APP_KEY','APP_SECRET'); $loginResponse = $sdk->auth()->logIn(new Login('USER_NAME', 'USER_ACCOUNT_KEY')); $sdk->auth()->authUser('USER_NAME', $loginResponse->getUserKey());
用法
您可以在文档中看到的任何端点组都由特定的SDK组处理,如下表所示
组可以具有处理特定内容的端点子组,例如$sdk->links()->related()
端点方法通常接受特定请求对象作为参数,这是处理API调用所需的。
$sdk ->links() ->related() ->add( new \XzSoftware\WykopSDK\Links\Request\Related\Add( 12345, 'http://some.valid.url', 'some title' ) );
一些端点违反了这个规则,接受一些扩展特定抽象(投票)的对象之一,
$sdk->links()->related()->vote( new \XzSoftware\WykopSDK\Links\Request\Related\VoteUp(1234, 12345) ); $sdk->links()->related()->vote( new \XzSoftware\WykopSDK\Links\Request\Related\VoteDown(1234, 12345) );
或接受简单的值,如字符串或整数(当没有其他参数可能且该参数是必需时)。
$sdk->privateMessages()->getConversation('username');
所有请求对象都可以通过构造函数接受所需的参数。非必需参数可以通过设置器进行修改。例如
$followersRequest = new \XzSoftware\WykopSDK\Profile\Request\Followers('user'); $followersRequest->setPage(3); $sdk->profiles()->getFollowers($followersRequest);
重要
每个请求对象都有公开的方法
$request->setUserKey('key'); $request->setAppKey('key');
没有必要设置这两个参数。SDK客户端将为您处理!