Обработка аутентификации в PHP с использованием API Basecamp - PullRequest
1 голос
/ 19 января 2011

Я создаю приложение, которое импортирует данные Basecamp, используя их API и некоторые классы PHP, которые я создал. Там нет проблем. Однако, поскольку приложение будет проходить аутентификацию через API Basecamp на основе учетных данных, которые вводит пользователь, я не всегда буду знать, верны ли кредиты Basecamp, которые они используют. Прямо сейчас моя логика просто предполагает, что кредиты хороши и обрабатывают соответственно (что я работаю безупречно). Если это не так, сценарии выдают ошибку.

То, что я хотел бы сделать, это иметь возможность собирать и обрабатывать ответ от API и возвращать пользователю дружественное сообщение об ошибке, если его кредиты по какой-либо причине не сработали (плохие кредиты, неправильный URL, доступ Basecamp API для учетная запись не активирована и т. д.) Мне все равно, кто виноват, я просто хочу сказать им, что произошел сбой и что они могут проверить несколько возможных причин.

Согласно API Basecamp: «Если запрос не выполнен, будет возвращен код состояния, отличный от 200» *

Я использую CURL для отправки кредитов и возврата XML из API. Простите, если это что-то действительно простое - я неплохой программист на PHP, но немного нуб, когда дело доходит до взаимодействия с API.

Ответы [ 2 ]

4 голосов
/ 19 января 2011

После успешного curl_exec вы можете получить дополнительную информацию через curl_getinfo:

$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

Где $ch - это «дескриптор», который вы получили curl_init(...).

0 голосов
/ 19 января 2011

Вам нужно найти код ответа после вызова curl и посмотреть, является ли он кодом 200 (который, согласно тому, что вы опубликовали, означает, что он работает) или кодом состояния, отличным от 200, в этом случае он не ' т работа.

Если вы можете опубликовать свой фрагмент CURL, я, вероятно, смогу помочь больше, но в целом это то, что вам нужно сделать.

...