Как загрузить ресурсы изображений с помощью CURL в SurveryMonkey с ответом / массовым запросом API? - PullRequest
0 голосов
/ 20 февраля 2019

Мне нужно загрузить все изображения из ресурсов surveryMonkey.Для этого я назвал API https://api.surveymonkey.net/v3/surveys/$surveryId/responses/bulk.Я получил ответ JSON, такой как:

{
"per_page": 100,
"total": 24,
"data": [
    {
        "total_time": 186,
        "href": "https://api.surveymonkey.net/v3/surveys/123/responses/10523886584",
        "custom_variables": {
            "UserName": "abc",
            "LocationID": "560323dfd65"
        },
        "ip_address": "xx.xx.xx.xx",
        "id": "123",
        "logic_path": {},
        "date_modified": "2019-02-12T00:33:27+00:00",
        "response_status": "completed",
        "custom_value": "",
        "analyze_url": "https://www.surveymonkey.com/analyze/",
        "pages": [
            {
                "id": "54495728",
                "questions": [
                    {
                        "id": "198653099",
                        "answers": [
                            {
                                "text": "82D5975A-B014-4EB7-AD62-B2174B973BA5.png",
                                "download_url": "https://www.surveymonkey.com/analyze/files/download/?survey_id=123&files=U8_2Fi7f1PB269nd_2FM6CyP3kWa_2F9ca5HVlxAxzmWVv_2Bq11rTOBMsWPwxppe3CRarNKvcVYgOwAuQ_2BDm3HHIB_2FIal6T4qnXg_2FbHY15ldm_2BPKVyBbxpETS2W6bvLUDdfRAnUfEiaKwQrZf_2FBU0_2Fo5wfqCKu5tPqP6399MmosgrQfGpc_3D",
                                "content_type": "image/png"
                            }
                        ]
                    },
                    {
                        "id": "198653103",
                        "answers": [
                            {
                                "text": "576ED35A-7E1E-4CA8-BCF0-0A12224D8126.jpeg",
                                "download_url": "https://www.surveymonkey.com/analyze/files/download/?survey_id=123&files=U8_2Fi7f1PB269nd_2FM6CyP3kWa_2F9ca5HVlxAxzmWVv_2Bq11rTOBMsWPwxppe3CRarNKSRAwmNg4FdLTI8zKRY7_2BviD_2B4oTmqgxfJVWE3sLbJwXTlr_2FDl_2FnmZvLG6p6jhGCcaQU7S7iHX_2BjqyMNIrbJpfrzx84FQTOK_2BFmNybyRAc48_3D",
                                "content_type": "image/jpeg"
                            }
                        ]
                    },
                    {
                        "id": "198653104",
                        "answers": [
                            {
                                "text": "EE8C57E7-6EE2-4211-817E-5E2A5C4EAAB6.jpeg",
                                "download_url": "https://www.surveymonkey.com/analyze/files/download/?survey_id=123&files=U8_2Fi7f1PB269nd_2FM6CyP3kWa_2F9ca5HVlxAxzmWVv_2Bq11rTOBMsWPwxppe3CRarNKt_2FzuXUNhpQ_2F4JXuH6Vvnp3_2B_2Bgkf9Wn9I_2BQ_2BQyqp9Va999YY3VwfsKNeNZV94CzT8nje_2BCzSZMGAdmd6faqMIEI_2BlJj1AUNbuLmTczecBdPc_3D",
                                "content_type": "image/jpeg"
                            }
                        ]
                    }
                ]
            }
        ],
        "page_path": [],
        "recipient_id": "",
        "collector_id": "123",
        "date_created": "2019-02-12T00:30:20+00:00",
        "survey_id": "123",
        "collection_mode": "default",
        "edit_url": "https://www.surveymonkey.com/r/?sm=cg",
        "metadata": {}
    },        
],
"page": 1,
"links": {
    "self": "https://api.surveymonkey.net/v3/surveys/123/responses/bulk?page=1&per_page=100"
}

}

Мне нужен запрос CURL, который получает все изображение из download_url surveryMonkey и помещает в каталог локального сервера.

Вот код запроса CURL: это перенаправление со статусом ошибки 403.

$username = 'xxx@example.com';
$password = 'xxx';
$cookie_file_path = "/tmp/cookies.txt";
$loginUrl = "https://www.surveymonkey.com/user/sign-in/"; 

//init curl
$ch = curl_init();

//Set the URL to work with
curl_setopt($ch, CURLOPT_URL, $loginUrl);

// ENABLE HTTP POST
curl_setopt($ch, CURLOPT_POST, 1);

//Set the post parameters
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password);

curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//execute the request (the login)
$store = curl_exec($ch);

var_dump($store);
...