2016-03-14 3 views
0

Я продолжаю получать эту ошибку: «757: неожиданный токен в« Не удалось проверить ваш уровень доступа для этого URL-адреса ». Вам необходимо войти в систему с соответствующими учетными данными» В моем приложении Ruby on Rails.Plivo: ошибка при попытке отправить SMS

Вот код:

def send_message_plivo 
    p = RestAPI.new(ENV["PLIVO_AUTHID"], ENV["PLIVO_AUTHTOKEN"]) 

    params = { 
     "src" => "1111111111", 
     "dest" => "xxxxxxxxxxxxx", # <- my only verified number 
     "text" => "Hi! From Plivo", 
     "url" => "http://localhost:3000/sent_message_status", 
     "method" => "POST" 
    } 

    response = p.send_message(params) # <- line of the error! 
    puts response 

    end 

вы знаете, что мне не хватает?

+0

- это параметр, который действительно должен быть «dest»? Я вижу «dst» здесь: https://www.plivo.com/docs/api/message/ –

+0

Для PLIVO_AUTHID вы используете свое имя пользователя plivo или идентификатор AUTH (20ish «random»)? –

+0

Вы оба были правы. У меня была проблема с переменными env, я прямо поставил ключи и изменил «dest» на «dst», и это сработало! – ste

ответ

0

В соответствии с plivo.com/docs/api/message параметр должен быть «dst» не «dest».

Кроме того, дважды проверьте значения, которые вы используете для вашего идентификатора автомобиля Plivo и Auth Token. Убедитесь, что вы используете свой идентификатор AUTH ID (20ish «random»), а не ваше имя пользователя Plivo.

0

Вы должны сделать что-то вроде этого: -

 $auth_id = 'PLIVO_AUTHID'; 
    $auth_token = 'PLIVO_AUTHTOKEN'; 

    $p = new RestAPI($auth_id, $auth_token); 

    // Set message parameters 
    $params = array(
      'src' => '1111111111', // Sender's phone number with country code 
      'dst' => '2222222222', // Receiver's phone number with country code 
      'text' => 'Hi, Message from Plivo', // Your SMS text message 

      //'url' => 'http://example.com/report/', // The URL to which with the status of the message is sent 
      'method' => 'GET' // The method used to call the url 
    ); 
    // Send message 
    $response = $p->send_message($params); 

    // Print the response 
    echo "Response : "; 
    print_r ($response['response']); 

    // Print the Api ID 
    echo "<br> Api ID : {$response['response']['api_id']} <br>"; 

    // Print the Message UUID 
    echo "Message UUID : {$response['response']['message_uuid'][0]} <br>"; 

И если вы получите ответ, как это: -

Response : Array ([api_id] => 2c5af359-1c06-11e6-8a00-22000ae28743 [message] => message(s) queued [message_uuid] => Array ([0] => 0f2afda3-b869-45f6-9baf-13acc1992cb8)) Api ID : 2c5af359-1c06-11e6-8a00-22000ae28743 Message UUID : 0f2afda3-b869-45f6-9baf-13acc1992cb8 

Это означает, что Ваше сообщение отправлено.

Смежные вопросы