J'ai mis en place un formulaire Wufoo avec des portions admin qui n'apparaitront que si je suis connecté. J'ai lu le Wufoo API documentation et je peux obtenir l'authentification pour fonctionner, mais quand j'essaie d'accéder au formulaire Après m'être authentifié, il est dit que je dois m'authentifier. Voilà ce que j'ai jusqu'à présent (sous-domaine, forme clé api & id changé)Problème d'authentification avec Wufoo
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$curl1 = curl_init('http://fishbowl.wufoo.com/api/v3/users.xml');
curl_setopt($curl1, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl1, CURLOPT_USERPWD, 'AOI6-LFKL-VM1Q-IEX9:footastic');
curl_setopt($curl1, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl1, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl1, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl1, CURLOPT_USERAGENT, 'Wufoo Sample Code');
$response = curl_exec($curl1);
$resultStatus = curl_getinfo($curl1);
if($resultStatus['http_code'] == 200) {
echo 'success!<br>';
} else {
echo 'Call Failed '.print_r($resultStatus);
}
$curl2 = curl_init("http://fishbowl.wufoo.com/api/v3/forms/w7x1p5/entries.json");
curl_setopt($curl2, CURLOPT_HEADER, 0);
curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl2);
curl_close ($curl2);
echo $response;
curl_close($curl1);
?>
Peu importe si je ferme $curl1
avant ou après que j'appelle $curl2
, je reçois le même message sur mon écran:
success!
You must authenticate to get at the goodies.
et je sais que l'API, le sous-domaine et l'ID de formulaire sont tous corrects.
Et une dernière question bonus ... puis-je faire tout cela en utilisant Ajax à la place? - La page sur laquelle je vais afficher le formulaire sera déjà limitée à l'accès administrateur, donc l'exposition de l'API ne devrait pas avoir d'importance.
Salut sirhc! Merci pour votre réponse, malheureusement, mon hébergeur gratuit a défini le mode sans échec, donc je ne peux pas accéder à des URL sécurisées. Mais votre réponse fonctionne pour moi si j'utilise 'http: //' mais apparemment je ne suis toujours pas autorisé à voir les données de l'administrateur seulement; Cependant, je reçois les données publiques maintenant. Donc, merci! ... Je suppose que je dois aller à la recherche d'un autre site d'hébergement php gratuit qui n'a pas défini le mode sans échec. – Mottie
Hmmm, en fait j'ai vérifié mon service d'hébergement et le mode sans échec est désactivé ... quand j'utilise 'https: //' la page ne termine jamais le chargement. Et si je mets 'CURLOPT_FOLLOWLOCATION' à true, j'obtiens cette erreur:' curl_setopt() [fonction.curl-setopt]: CURLOPT_FOLLOWLOCATION ne peut pas être activé quand dans safe_mode ou un open_basedir est défini dans ... ' – Mottie
Désolé, il y avait un typo ci-dessus où j'ai utilisé '$ curl1' au lieu de' $ curl2'. Cela peut être dû au fait que ces options ne sont pas définies, c'est pourquoi il ne revient pas. :) – sirhc