Π·Π΅ΡΠΊΠ°Π»ΠΎ ΠΈΠ· https://github.com/nextcloud/social.git
Π‘ΡΡΠ°Π½ΠΈΡΠ°:
Testing the API
2
Testing the API
Maxence Lange ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π»(Π°) ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ 2020-09-17 17:35:54 -01:00
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
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
:
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": [] }