Shujuqiu supports a new type of text: encrypted text for your sensitive data, e.g. your diary, password, credit card information, etc.
You can set a password to encrypted the text by Javascript AES encryption method on your browser. Shujuqiu will only save the encrypted text in the server. So if you forget your password, there is no way to recover your information.
Shujuqiu supports uploading files to file center, which can be accessed via the folder icon on the upper right menu.
You can created your own folder, upload you local files, with description supported. You can also rename your folder/document, or move folder/document to other folders via the Edit
link.
You can also download the document or the whole folder (zip file) via the download link.
We also support copy link or Markdown code for document, which is helpful for Markdown writing.
The SPA (Shujuqiu Public API) allow you to operate your data through a public API. It is opened for VIP and SVIP users only.
The API is under https://api.shujuqiu.com/spa/v1
.
You need an access token to access the API, which can be obtained by the login
API.
NPA API has rate limiting in order to improve server performance for all users. We only allow 100/1000 calls per day for VIP/SVIP users respectively. Limits are reset in middle night UTC time.
All API method are POST
. Each API returns a JSON data as response. The JSON is a dictionary with
1.0.
For example:
{
"status": "OK",
"meta": {
"time": "2020-12-24T11:41:34",
"tid": "1608810094_AisU",
"version": "1.0",
"token_limit": 1000,
"token_remaining": 1980,
"last_active": "2020-12-24T11:41:34",
"token_reset": "2020-12-25T00:00:00"
},
"data": {
......
}
}
API | Note |
---|---|
User | |
login | login to get access token |
Table & Records | |
:table_slug/get_records | Get all records of a table |
:table_slug/get_records/:record_id | Get specific record of a table |
:table_slug/create_record | Add a new record to the table |
:table_slug/import_records | Import list of records by CSV file to a table |
:table_slug/update_record/:record_id | Update specific record of a table |
:table_slug/destroy_records | Destroy all records of a table |
:table_slug/destroy_records/:record_id | Destroy specific record of a table |
/spa/v1/login.json
This API provides login method for get access token.
We provide CRUD APIs for table records. You need table slug for accessing the API, which can be find in the table detail information page (slug URL, e.g. 1or1
).
/spa/v1/:table_slug/get_records.json
This API provides all records of a table.
NA
/spa/v1/:table_slug/get_records/:record_id.json
This API provides record information specified by record ID
NA
/spa/v1/:table_slug/create_record.json
This API add a new record to the table
/spa/v1/:table_slug/import_records.json
This API add a list of new records to the table by CSV file
NA
# NOTE: do not use -H 'Content-Type:application/json'
curl -i -H "Accept: application/json" -H 'Authorization: Bearer your_access_token' -X POST -F "file=your_file.csv" "https://api.shujuqiu.com/spa/v1/:table_slug/import_records.json"
/spa/v1/:table_slug/update_record/:record_id.json
This API update a specified record
/spa/v1/:table_slug/destroy_records.json
This API destroy all records of a table
NA
NA
/spa/v1/:table_slug/destroy_records/:record_id.json
This API destroy a record specified by ID
NA
NA
You can add a batch of records by uploading a CSV file. The table page shows the upload link.
You can use any editor to write the CSV file, or exporting an Excel file to CSV format.
The first line of the CSV file must be the header, shows the name of the column. For example, if you have a table with three columns, with names title
, content
and date
. The CSV file should be like:
title, content, date
"This is my first article", "This is the content of my first article", "2020-12-30"
"This is my second article", "This is the content of my second article", "2020-12-31"
There are three types of users:
The user permission is:
Permission | Regular | VIP | SVIP |
---|---|---|---|
Free | YES | NO | NO |
Private tables | NO | YES | YES |
# of tables | 100 | 1000 | 10000 |
# of records per table | 1000 | 10000 | 100000 |
# of export/imports per day per table | 1 | 10 | 100 |
Each table has a read permission and a write permission setting.
The read permission controls who can access your data.
The read permission controls who can contributes your data.
Table support the following types. Please note that some types are still in beta version, could be changed later.
Basic Type:
Formatted Types:
Advanced Types (beta):
# This is an h1 header
## This is an h2 header
###### This is an h6 header
*This text will be italic*
**This text will be bold**
_This will be underline_
~~This will be strikethrough~~
_You ***can*** combine them_
This text will be italic
This text will be bold
This will be underline
This will be strikethrough
You can combine them
Unordered
* Item 1
* Item 2
* Item 2a
* Item 2b
Ordered
1. Item 1
1. Item 2
1. Item 3
1. Item 3a
1. Item 3b
![GitHub Logo](/images/logo.png)
http://github.com - automatic!
[GitHub](http://github.com)
http://github.com - automatic!
GitHub
As Kanye West said:
> We're living the future so
> the present is our past.
>> nested
As Kanye West said:
We're living the future so
the present is our past.nested
I think you should use an `<addr>` element here instead.
I think you should use an <addr>
element here instead.
``` if (isAwesome){ return true } ```
if (isAwesome){
return true
}
First Header | Second Header
------------ | -------------
Content from cell 1 | Content from cell 2
Content in the first column | Content in the second column
First Header | Second Header |
---|---|
Content from cell 1 | Content from cell 2 |
Content in the first column | Content in the second column |
---