Ошибка при создании актива с помощью REST API служб мультимедиа Azure и PHP.

Я получаю ошибку HTTP-кода 301 при выполнении php-кода для создания актива:

 public function request($arrData = array()){
            $ch = curl_init();
            $arrHeader = array(
                'Authorization: Bearer '.$this->strToken,

            );
        echo 'Call API:'.$this->strUrl."\n";
        curl_setopt($ch, CURLOPT_URL, $this->strUrl);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $arrHeader);
        //curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        if (!empty($data)){
            curl_setopt($ch, CURLOPT_POSTFIELDS, $this->generateData($arrData));
        }
        $data = curl_exec($ch);
       The value of strUrl is: https://media.windows.net/API/Assets

person Shraddha Bandekar    schedule 20.02.2013    source источник


Ответы (3)


Я не уверен, что вы используете правильный URL. Этот работает для меня.

https://wamsbluclus001rest-hs.cloudapp.net/API/

person Albert Cheng    schedule 20.02.2013

Проблема здесь, в PHP, заключается в том, что похоже, что вы не следуете перенаправлению, которое происходит при подключении к API. Это задокументировано в документах MSDN для REST API. Взгляните на этот справочный документ MSDN, в котором объясняется, как следовать перенаправлениям:

http://msdn.microsoft.com/en-us/library/jj129576.aspx

Подключение к URI служб мультимедиа Корневым URI служб мультимедиа является https://media.windows.net/API/. Вы должны сначала подключиться к этому URI, и если вы получите перенаправление 301 в ответ, вы должны сделать последующие вызовы на новый URI. Кроме того, не используйте в своих запросах логику автоматического перенаправления/следования. HTTP-команды и тела запросов не будут пересылаться на новый URI.

person user1715701    schedule 21.02.2013

В C# вы найдете рабочий пример обработки перенаправления здесь: http://createassettask.codeplex.com/SourceControl/changeset/view/21236#458379

person Nick Drouin    schedule 21.02.2013