2015-11-21 2 views
1

Я пытаюсь интегрировать Qiniu SDK для загрузки аудио. Согласно документации, мы сначала должны получить токен доступа. Потому что нам нужно передать AccessToken в любом вызове api.Qiniu: Всегда возвращать «405 не разрешено»

http://developer.qiniu.com/docs/v6/api/reference/acc/access-token.html

Я пытаюсь вызвать API со следующими данными.

host : http://acc.qbox.me 
method : POST 
Parameters : 
grant_type = password 
username = <username> 
password = <password> 

Но все это дает мне следующий ответ

<html> 
<head><title>405 Not Allowed</title></head> 
<body bgcolor="white"> 
<center><h1>405 Not Allowed</h1></center> 
<hr><center>nginx/1.4.4</center> 
</body> 
</html> 

Пожалуйста, любой может направлять мне, что случилось в этом.

+0

405 МЕТОД не допускается. Вы уверены, что ваша служба поддерживает POST? –

ответ

2

php sdk предоставил функцию accesstoken. Класс Auth находится здесь: https://github.com/qiniu/php-sdk/blob/master/src/Qiniu/Auth.php

в вашем проекте необходимо использовать этот файл. и там много примеров здесь: https://github.com/qiniu/php-sdk/tree/master/examples

здесь примеры лексем загрузки:

<?php 
require_once '/path/to/autoload.php'; 
use Qiniu\Auth; 
$accessKey = 'Access_Key'; 
$secretKey = 'Secret_Key';  
$auth = new Auth($accessKey, $secretKey); 
$bucket = 'Bucket_Name'; 
$upToken = $auth->uploadToken($bucket); 
echo $upToken; 

надеюсь, что это может помочь вам.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/10291644) –

+1

Благодарим вас за советы, я редактировал его – rwifeng

+1

Я устанавливаю xampp на своем mac. После этого я помещаю «php-sdk-master» в папку «htdocs». Я тестирую «download_token.php» путем изменения Accesskey & screteKey. –

1

Если вы используете SDK iOS 9, все ваши вызовы должны использовать https из-за безопасности ATP (безопасность транспортного средства). Если вы хотите, чтобы иметь исключения и необходимо, чтобы определенные вызовы HTTP, вы должны добавить исключения в свой .plist файл:

key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>http://acc.qbox.me</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <false/> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <false/> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <true/> 
      <key>NSExceptionMinimumTLSVersion</key> 
      <string>TLSv1.2</string> 
      <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key> 
      <false/> 
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
      <true/> 
      <key>NSThirdPartyExceptionMinimumTLSVersion</key> 
      <string>TLSv1.2</string> 
      <key>NSRequiresCertificateTransparency</key> 
      <false/> 
     </dict> 
    </dict> 
</dict> 

Вы даже можете разрешить весь трафик HTTP, добавив в ваш .plist файл (но Apple, не рекомендуется):

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 
+0

Я использую iOS 8. –

+0

Я также тестирую инструмент POSTMAN из магазина google crome. Он также дает мне тот же результат –

+0

Попробуйте назвать его https вместо http. Передача параметров имени пользователя и пароля по http не является хорошей идеей, и служба может блокировать это, возвращая 405 ошибок. –