https://github.com/peter279k/dcard-sdk
Help you to access the official HTTP Dcard API easily
https://github.com/peter279k/dcard-sdk
dcard dcard-sdk php5 php56
Last synced: 6 months ago
JSON representation
Help you to access the official HTTP Dcard API easily
- Host: GitHub
- URL: https://github.com/peter279k/dcard-sdk
- Owner: peter279k
- License: mit
- Archived: true
- Created: 2016-08-10T17:57:05.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-06-20T10:18:13.000Z (almost 4 years ago)
- Last Synced: 2024-12-17T01:12:03.526Z (over 1 year ago)
- Topics: dcard, dcard-sdk, php5, php56
- Language: PHP
- Homepage: https://packagist.org/packages/dcard/sdk
- Size: 24.4 KB
- Stars: 5
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dcard-sdk
Help you to access easily the internal and official HTTP Dcard api.
[](https://packagist.org/packages/dcard/sdk)
[](https://packagist.org/packages/dcard/sdk)
[](https://packagist.org/packages/dcard/sdk)
[](https://packagist.org/packages/dcard/sdk)
# 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
```php
//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
```php
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
1. add invite friend 新增寄送邀請功能
# Related project
Dcard-API is developed by Node.js: [Dcard-API](https://github.com/Larry850806/Dcard-API)