107 lines
No EOL
2.3 KiB
Markdown
107 lines
No EOL
2.3 KiB
Markdown
# Basic usage (without an .env)
|
|
## Setup
|
|
Here's a very basic example of setting up:
|
|
```python
|
|
import trustcafeapiwrapper
|
|
|
|
# Setup the API Client
|
|
API = trustcafeapiwrapper.APIClient(
|
|
client_id="YOUR_CLIENT_ID",
|
|
client_secret="YOUR_CLIENT_SECRET",
|
|
env="alpha" # alpha | production.
|
|
debug=False
|
|
)
|
|
```
|
|
or with .env
|
|
```python
|
|
import trustcafeapiwrapper, os
|
|
from dotenv import load_dotenv
|
|
load_dotenv()
|
|
API = APIClient(
|
|
client_id=os.getenv("client_id"),
|
|
client_secret=os.getenv("client_secret"),
|
|
env="alpha", # alpha | production.
|
|
debug=False,
|
|
)
|
|
```
|
|
|
|
## Use a wrapper
|
|
Wrappers make it as simple as possible to perform an action.
|
|
|
|
A wrapper will come with a job and a payload ready to be passed to the `wrapped` function.
|
|
|
|
eg. Use the `create_post` wrapper
|
|
|
|
```python
|
|
from trustcafeapiwrapper.wrappers.post.create_post import create_post
|
|
|
|
API.wrapped(create_post(
|
|
"This is a test post created via the create_post wrapper function.",
|
|
))
|
|
```
|
|
|
|
|
|
**_NOTE:_** There are not as many wrappers as jobs because fetching is simpler. More will be added though to make it consistent.
|
|
|
|
|
|
## Make a request via `job`
|
|
Jobs make the requests to the API. They have the endpoint and path setup already, we just pass the payload. If you want to avoid making your own payload, use a `wrapper`.
|
|
|
|
Use the job for getting public posts.
|
|
|
|
Now you don't need to worry about which API
|
|
```python
|
|
postlist = API.run_job('posts.getpublic')
|
|
print(postlist)
|
|
'''
|
|
{
|
|
"Items": [
|
|
{
|
|
...
|
|
'''
|
|
```
|
|
**_NOTE:_** There are aren't the complete set yet created here.
|
|
|
|
## Custom Request
|
|
There should hopefully be a `job` or a `wrapper` that exists for what you need but if not, then this is how you make a request using the core mechanism.
|
|
|
|
Use the `make_request` function to make a request from the content API to get posts in the music branch.
|
|
```python
|
|
postlist = API.make_request("GET", "content", f"post/ref-subwiki/music")
|
|
print(postlist)
|
|
'''
|
|
{
|
|
"Items": [
|
|
{
|
|
...
|
|
'''
|
|
```
|
|
|
|
# Jobs
|
|
## block
|
|
## branch
|
|
### `get`
|
|
### `listbyname`
|
|
## change
|
|
## comment
|
|
### `create`
|
|
### `listbypostid`
|
|
## feed
|
|
## mute
|
|
## notifcation
|
|
### `listnotifications`
|
|
## post
|
|
## reaction
|
|
## trust
|
|
## userprofile
|
|
## vote
|
|
|
|
|
|
# Wrappers
|
|
## post
|
|
### `create_post`
|
|
### `update_post`
|
|
## comment
|
|
### `create_comment`
|
|
|
|
# Utils |