Знак недопустимого доступа Twilio - Swift - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь следовать этому руководству: https://www.youtube.com/watch?v=5lrdYBLEk60 и получаю токен недопустимого доступа - Код: 20101 возвращается, когда я слежу за всем в футболку.Я ничего не изменил в предоставленном VideoQuickStart, кроме добавления ссылки на функцию Twilio с идентификатором: https://carnelian-chinook-9032.twil.io/video-token?identity=doug

Код функции (такой же, как у видео):

exports.handler = function(context, event, callback) {
    const AccessToken = Twilio.jwt.AccessToken;
    const VideoGrant = AccessToken.VideoGrant;

    const token = new AccessToken(context.ACCOUNT_SID, context.API_KEY, context.API_SECRET);
    token.identity = event.identity;

    const videoGrant = new VideoGrant({
        room: 'TestingRoom'
    });

    token.addGrant(videoGrant);

    callback(null, { token: token.toJwt() });
};

Начало ViewController.swift из примера VideoQuickStart

import UIKit

import TwilioVideo

class ViewController: UIViewController {

    // MARK: View Controller Members

    // Configure access token manually for testing, if desired! Create one manually in the console
    // at https://www.twilio.com/console/video/runtime/testing-tools
    var accessToken = "TWILIO_ACCESS_TOKEN"

    // Configure remote URL to fetch token from
    var tokenUrl = "https://carnelian-chinook-9032.twil.io/video-token?identity=doug"

    // Video SDK components
    var room: TVIRoom?
    var camera: TVICameraSource?
    var localVideoTrack: TVILocalVideoTrack?
    var localAudioTrack: TVILocalAudioTrack?
    var remoteParticipant: TVIRemoteParticipant?
    var remoteView: TVIVideoView?

    // MARK: UI Element Outlets and handles

    // `TVIVideoView` created from a storyboard
    @IBOutlet weak var previewView: TVIVideoView!

    @IBOutlet weak var connectButton: UIButton!
    @IBOutlet weak var disconnectButton: UIButton!
    @IBOutlet weak var messageLabel: UILabel!
    @IBOutlet weak var roomTextField: UITextField!
    @IBOutlet weak var roomLine: UIView!
    @IBOutlet weak var roomLabel: UILabel!
    @IBOutlet weak var micButton: UIButton!

    // MARK: UIViewController
    override func viewDidLoad() {
        super.viewDidLoad()

        self.title = "QuickStart"
....

Кто-нибудь знает, что я могу попробовать для этого?Или, если они могут следовать за учебником, и он работает на их конце?Может быть, учебник немного устарел?Может быть, мне нужно включить что-то на моем аккаунте?Все помогает, спасибо!

Репо использовал например: https://github.com/twilio/video-quickstart-ios

1 Ответ

1 голос
/ 26 сентября 2019

Twanio Developer Evangelist здесь.

Проблема здесь в том, что вы используете Test Credentials для создания своего токена. Тестовые учетные данные Twilio полезны только для тестирования ответов API на запросы отправить сообщение, купить номер или сделать телефонный звонок без фактического запуска действия.

Отмените свои настоящие учетные данные, и все должно работать нормально.

Редактировать

Используя быстрый запуск, с которым вы связались, маркер доступа запрашивается этим кодом , который не анализирует JSON и не ищет токен.

Если вы возвращаете только токен в качестве полезной нагрузки строки вместо полезной нагрузки JSON, то это должно работать.Чтобы обновить функцию, измените callback на:

callback(null, token.toJwt()); 
...