Twilio 无效访问令牌 - Swift

Twilio Invalid Access Token - Swift

我正在尝试按照本教程进行操作:https://www.youtube.com/watch?v=5lrdYBLEk60 并收到无效的访问令牌 - 代码:20101 当我按照所有内容进行操作时返回。我在提供的 VideoQuickStart 中没有做任何更改,除了添加我的 Twilio 函数 link 和身份:https://carnelian-chinook-9032.twil.io/video-token?identity=doug

函数代码(与视频相同 linked):

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() });
};

VideoQuickStart 示例 ViewController.swift 的开头

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

这里是 Twilio 开发人员布道者。

这里的问题是您正在使用测试凭据来创建您的令牌。 Twilio test credentials 仅用于测试 API 对发送消息、购买号码或拨打 phone 电话的请求的响应,而不会实际触发操作。

切换为您的真实凭据,一切都会正常进行。

编辑

使用您链接到的快速入门,the access token is requested by this code 不会解析 JSON 并查找令牌。

如果您 return 只是将令牌作为字符串有效负载而不是 JSON 有效负载,那么这应该可以工作。要更新函数,请将 callback 更改为:

callback(null, token.toJwt());