2015-06-02 6 views
2

Я пытаюсь использовать заголовок авторизации, чтобы использовать API vimeo.Как использовать заголовок авторизации PHP

Это говорит мне об этом: «Авторизация: базовый» + base64 (client_id + ':' + client_secret), что я могу сделать.

Но нигде в Интернете это не говорит мне, что я на самом деле делаю с этим кодом? Это не PHP, но идет ли он в файл PHP? Если да, то какую функцию я могу использовать на нем после его хранения? Это происходит в файле htaccess?

Очень грустно, насколько ужасно любая онлайн-документация на этом.

Подводя итог, в основном то, что им изречение ПОКАЗАТЬ мне код

Спасибо за помощь

ответ

6
$api_url = 'http://myapiurl'; 

$client_id = 'myclientid'; 
$client_secret = 'myclientsecret'; 

$context = stream_context_create(array(
    'http' => array(
     'header' => "Authorization: Basic " . base64_encode("$client_id:$client_secret"), 
    ), 
)); 

$result = file_get_contents($api_url, false, $context); 

Документация Ссылки:

Для более сложных запросов вы можете использовать cURL, но реализация PHP в библиотеке - беспорядок, и я предпочитаю избегать этого, когда смогу. Guzzle - это библиотека, которая абстрагирует здесь множество сложностей.

+1

Я считаю, что 'headers' должен быть' header' ... – abettermap

+0

Хороший улов! Я обновил свой пост. – Mikkel

1

Vimeo настоятельно рекомендует не создавать эти системы аутентификации самостоятельно, а использовать официальные библиотеки: https://github.com/vimeo/vimeo.php.

Если вы ищете специальную интеграцию с PHP, она зависит от того, как вы делаете HTTP-запросы. жрать и локон являются библиотеками запросов HTTP, со своими собственными способами настройки заголовков (http://guzzle.readthedocs.org/en/latest/request-options.html#headers и PHP cURL custom headers)

Что касается base64, кодирующей своих маркеров, используйте метод base64_encode (http://php.net/manual/en/function.base64-encode.php)