kopia lustrzana https://github.com/nextcloud/social
120 wiersze
3.4 KiB
Markdown
120 wiersze
3.4 KiB
Markdown
# Testing the API
|
|
|
|
## Creating the App
|
|
|
|
This is the first request a 3rd party client would need to send:
|
|
|
|
```
|
|
curl -X POST https://your.nextcloud.com/index.php/apps/social/api/v1/apps \
|
|
-d "client_name=curl&redirect_uris=https://test.example.net/oauth/redirected&scopes=write+read&website=https://test.example.net"
|
|
```
|
|
|
|
should returns:
|
|
> ```
|
|
>{
|
|
> "id": 1,
|
|
> "name": "curl",
|
|
> "website": "https://test.example.net",
|
|
> "scopes": "write read",
|
|
> "client_id": "zahscLgi9rZp5SpiOuXGHoqZGAziMhlXVgmTM4Fl",
|
|
> "client_secret": "xcDAPQLISsAw4UKqrut1OarDuCXf3IzOJxXQesHs"
|
|
>}
|
|
> ```
|
|
|
|
|
|
|
|
## Authorize App, identify Account
|
|
|
|
Open a browser and go to the generated URL using `client_id`:
|
|
|
|
|
|
> https://your.nextcloud.com/index.php/apps/social/oauth/authorize?response_type=code&scope=write+read&redirect_uri=https://test.example.net/oauth/redirected&client_id=zahscLgi9rZp5SpiOuXGHoqZGAziMhlXVgmTM4Fl
|
|
|
|
|
|
After authentication, using the credentials of your Nextcloud account, you will be redirected to `https://test.example.net/oauth/redirected?code=VcIgHmSYPYrgrHyM8kRDxf4Gz-dJOuoNBuEz9mlZtw4`
|
|
|
|
|
|
|
|
## Obtain token
|
|
|
|
Once you have a `code`:
|
|
|
|
```
|
|
curl -X POST https://your.nextcloud.com/index.php/apps/social/oauth/token \
|
|
-d "client_id=zahscLgi9rZp5SpiOuXGHoqZGAziMhlXVgmTM4Fl&redirect_uri=https://test.example.net/oauth/redirected&client_secret=xcDAPQLISsAw4UKqrut1OarDuCXf3IzOJxXQesHs&grant_type=authorization_code&code=VcIgHmSYPYrgrHyM8kRDxf4Gz-dJOuoNBuEz9mlZtw4"
|
|
```
|
|
|
|
result will be:
|
|
|
|
> ```
|
|
>{
|
|
> "access_token": "7UnD7f1fbMUUGqRalX0cTSW5H-Ion40_at560DsvG1w",
|
|
> "token_type": "Bearer",
|
|
> "scope": "write read",
|
|
> "created_at": 1600354593
|
|
>}
|
|
> ```
|
|
|
|
|
|
## Testing the API
|
|
|
|
- A first request to check the app:
|
|
|
|
```
|
|
curl https://your.nextcloud.com/index.php/apps/social/api/v1/apps/verify_credentials \
|
|
-H "Authorization: Bearer 7UnD7f1fbMUUGqRalX0cTSW5H-Ion40_at560DsvG1w"
|
|
```
|
|
|
|
should returns
|
|
|
|
> ```
|
|
>{
|
|
> "name": "curl",
|
|
> "website": "https://test.example.net"
|
|
>}
|
|
> ```
|
|
|
|
|
|
- Check the account:
|
|
|
|
```
|
|
curl https://your.nextcloud.com/index.php/apps/social/api/v1/accounts/verify_credentials \
|
|
-H "Authorization: Bearer 7UnD7f1fbMUUGqRalX0cTSW5H-Ion40_at560DsvG1w"
|
|
```
|
|
|
|
should returns
|
|
|
|
> ```
|
|
>{
|
|
> "id": "42",
|
|
> "username": "cult",
|
|
> "acct": "cult",
|
|
> "display_name": "cult",
|
|
> "locked": false,
|
|
> "bot": false,
|
|
> "discoverable": false,
|
|
> "group": false,
|
|
> "created_at": "2020-09-15T13:45:07.000Z",
|
|
> "note": "",
|
|
> "url": "https://your.nextcloud.com/index.php/apps/social/@cult",
|
|
> "avatar": "https://your.nextcloud.com/index.php/documents/avatar/a7ad599c-499a-4680-9f01-e7f57fbea631",
|
|
> "avatar_static": "https://your.nextcloud.com/index.php/documents/avatar/a7ad599c-499a-4680-9f01-e7f57fbea631",
|
|
> "header": "https://your.nextcloud.com/index.php/documents/avatar/a7ad599c-499a-4680-9f01-e7f57fbea631",
|
|
> "header_static": "https://your.nextcloud.com/index.php/documents/avatar/a7ad599c-499a-4680-9f01-e7f57fbea631",
|
|
> "followers_count": 2,
|
|
> "following_count": 0,
|
|
> "statuses_count": 12,
|
|
> "last_status_at": "2020-09-15",
|
|
> "source": {
|
|
> "privacy": "public",
|
|
> "sensitive": false,
|
|
> "language": "en",
|
|
> "note": "",
|
|
> "fields": [],
|
|
> "follow_requests_count": 0
|
|
> },
|
|
> "emojis": [],
|
|
> "fields": []
|
|
>}
|
|
> ```
|