2017-07-14 2 views
0

Je suis nouveau au repos et ont été chargés de la récupération des données de l'enquête SurveyMonkey en utilisant l'API V3. J'utilise PHP. Mon code est le suivant:Erreur de handshake dans l'appel PHP API V3 SurveyMonkey

$fields = array(
'title'=>'New Admission Survey', 
'object_ids' => array($surveyID)); 

$fieldsString = json_encode($fields); 

$curl = curl_init(); 
$requestHeaders = array(
"Authorization" => 'bearer abc123', 
"Content-Type" => 'application/json', 
'Content-Length: ' . strlen($fieldsString)); 

$baseUrl = 'https://api.surveymonkey.net/v3'; 
$endpoint = '/surveys/'; 

curl_setopt($curl, CURLOPT_URL, $baseUrl . $endpoint); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_HTTPHEADER, $requestHeaders); 
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $fieldsString); 
$curl_response = curl_exec($curl); 

if($curl_response == false){ 
echo('Well, crap'); 
$info = curl_getinfo($curl); 
echo('<pre>');print_r($info);echo('</pre>'); 
echo('<pre>');print_r(curl_error($curl));echo('</pre>');} 
else { 
echo('Test: ' . $curl_response);} 

curl_close($curl); 

Je reçois l'erreur suivante:

error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure 

J'ai vérifié le jeton Auth J'utilise est celui délivré à moi lorsque je me suis inscrit mon application (fait aujourd'hui).

Ai-je raté quelque chose? La plupart des questions et des réponses traitent de la V2 de l'API SurveyMonkey. J'utilise V3.

Merci pour votre aide!

+0

question ressemble à c'est pas avec votre jeton ou quoi que ce soit, apparaît comme une erreur TLS, assurez-vous que votre serveur a les chiffrements pris en charge. Vous pouvez voir ce que SurveyMonkey supporte ici: https://www.ssllabs.com/ssltest/analyze.html?d=api.surveymonkey.net&latest. Pour * tester * vous pouvez probablement désactiver la vérification de la poignée de main si vous en avez vraiment besoin. –

+0

Merci! Je crois que vous avez raison. Quand cela fonctionnera, je posterai la solution et je vous créditerai ... – dneimeier

+0

Aucune joie. J'utilise OpenSSL v 0.9.8c et TLS1.0. Une mise à niveau est-elle nécessaire? – dneimeier

Répondre

0

Je ne suis pas sûr que cela aidera l'erreur spécifique que vous rencontrez, mais avez-vous essayé d'utiliser cette enveloppe API? https://github.com/ghassani/surveymonkey-v3-api-php

Cette enveloppe API simplifiée mes tâches considérablement:

<?php 

// Init the client. 
$client = Spliced\SurveyMonkey\Client(MY_CLIENT_ID, MY_ACCESS_TOKEN); 

// Get a specific survey. 
$survey = $client->getSurvey(MY_SURVEY_ID); 

// Get all responses for this survey. 
/** @var Spliced\SurveyMonkey\Response $responses */ 
$responses = $client->getSurveyResponses(MY_SURVEY_ID); 

// Get a specific response. 
/** @var Spliced\SurveyMonkey\Response $response */ 
$response = $client->getSurveyResponse(MY_SURVEY_ID, RESPONSE_ID, TRUE); 

/* etc... */