dcard / sdk
It's unofficial Dcard sdk to access Dcard HTTP api
Installs: 27
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 1
Open Issues: 1
Type:sdk
Requires
- guzzlehttp/guzzle: ^6.2
- symfony/css-selector: ^3.1
- symfony/dom-crawler: ^3.1
README
Help you to access easily the internal and official HTTP Dcard api.
Dcard HTTP API implementation
We implement the following API methods
The base url is https://www.dcard.tw/
Request url | description | HTTP method | response format | the method |
---|---|---|---|---|
/_api/me | get account information | GET | json | getMe |
/_api/forums | get forum lists | GET | json | getForums |
/_api/dcard | get today "Dcard" | GET | json | getDcard |
/_api/notifications | get your notifications | GET | json | getNotification |
/_api/posts/{post-id} | get specified post contents | GET | json | getPostContents |
/_api/forums/posts?popular={true/false}&before={post-id} | get specified forums's post lists | GET | json | getPostLists |
/_api/sessions | To login the Dcard Account | POST | json | dcardLogin |
/_api/dcard/accept | Invite friends | POST | json | sendAccept |
/logout | logout from the Dcard | GET | json | dcardLogout |
If you have to call other api methods, please open issue and let me know your requirement
Usage
//dowloading the composer.phar firstly curl -sS https://getcomposer.org/installer | php //using composer.phar to install the dcard-sdk php composer.phar require dcard/sdk
Sample code
require "vendor/autoload.php"; use Dcard\sdk\DcardSdk; $dcard = new DcardSdk("your account", "your password"); //login $response = $dcard -> dcardLogin(); //get me $response = $dcard -> getMe(); //get forums $response = $dcard -> getForums(); //get "dcard" $response = $dcard -> getDcard(); //get your account notifications $response = $dcard -> getNotification(); //get specified post $response = $dcard -> getPostContents("your-post-id"); //invite friends $response = $dcard -> sendAccept("your-first-message"); //get specified forum's post lists /* @param(type: string) $ForumName: the forum English name. @param(type: string) $IsPopular: the post whether is popular in forum or not and the value is true or false. @param(type: boolean) $IsBefore: the post whether is the first page or specified page. @param(type: string) $PostId: the $IsBefore set true and the specified post id will get specified page. the $IsBefore set false and the specified post id will get specified page. */ $response = $dcard -> getPostLists($ForumName, $IsPopular, $IsBefore, $PostId); //Dcard logout $response = $dcard -> dcardLogout();
Unit Testing
I use PHPUnit to test the package.
Here is the steps to test the package.
Step 1
clone the project in master branch.
Step 2
manually download the PHPUnit.phar.
Step 3
download the composer.phar.
Step 4
do php composer.phar install
in project root folder.
Step 5
create the folder which name is report in project root folder.
Step 6
In DcardTest.php, replace the account and password on line 11 and 28.
Step 7
run testing: php phpunit.phar src/dcard/sdk/DcardTest.php --coverage-html report/
Here is the testing result.
Change log
2016/08/13
- add invite friend 新增寄送邀請功能
Related project
Dcard-API is developed by Node.js: Dcard-API