VK Cloud logo
Обновлена20 марта 2024 г. в 07:17

Пример интеграции на PHP

Подробный пример смотрите в статье «Пример интеграции на Python». В этой статье мы выполним запросы persons/recognize, persons/set и persons/delete. Для этого потребуется:

1sudo apt-get install php5-cli
2sudo apt-get install php5-curl

Запрос на распознавание

Скачайте файл smarty.php.

1php examples/php/smarty.php \
2"https://smarty.mail.ru/api/v1/persons/recognize?oauth_provider=mr&oauth_token="e50b000614a371ce99c01a80a4558d8ed93b313737363830" \
3examples/friends1.jpg \
4'{"space":"1", "images":[{"name":"examples/friends1.jpg"}]}'

Ответ:

1{
2    "status":200,
3    "body": {
4        "objects": [{
5            "status":0,
6            "name":"examples/friends1.jpg",
7            "persons":[
8                {"tag":"undefined","coord":[102,30,184,134],"confidence":0.99999,"awesomeness":0.5025},
9                {"tag":"undefined","coord":[393,74,461,166],"confidence":0.99987,"awesomeness":0.548},
10                {"tag":"undefined","coord":[458,48,535,149],"confidence":0.99976,"awesomeness":0.4766},
11                {"tag":"undefined","coord":[273,45,352,147],"confidence":0.99963,"awesomeness":0.504},
12                {"tag":"undefined","coord":[525,81,600,184],"confidence":0.99954,"awesomeness":0.4849},
13                {"tag":"undefined","coord":[194,76,258,167],"confidence":0.9984,"awesomeness":0.5725}
14            ]
15        }
16        ],
17        "aliases_changed":false
18    },
19    "htmlencoded":false,
20    "last_modified":0
21}

Запрос на добавление в базу данных

1php examples/php/smarty.php \
2"https://smarty.mail.ru/api/v1/persons/set?oauth_provider=mr&oauth_token="e50b000614a371ce99c01a80a4558d8ed93b313737363830" \
3examples/rachel-green.jpg \
4'{"space":"1", "images":[{"name":"examples/rachel-green.jpg", "person_id":1}]}'

Если запрос верный, ответ будет такой:

1{
2    "status":200,
3    "body":{
4        "objects":[
5            {"status":0,"name":"examples/rachel-green.jpg"}
6        ]
7    },
8    "htmlencoded":false,
9    "last_modified":0
10}

Запрос на удаление из базы данных

Для этого запроса файл не требуется, поэтому передаем пустую строку вместо пути:

1php examples/php/smarty.php \
2"https://smarty.mail.ru/api/v1/persons/delete?oauth_provider=mr&oauth_token="e50b000614a371ce99c01a80a4558d8ed93b313737363830" \
3"" \
4'{"space":"1", "images":[{"name":"examples/rachel-green.jpg", "person_id":1}]}'

Если запрос верный, ответ будет такой:

1{
2    "status":200,
3    "body": {
4        "objects":[
5            {
6                "status":0,"name":"examples/rachel-green.jpg"
7            }
8        ]
9    },
10    "htmlencoded":false,
11    "last_modified":0
12}