Ajax Oauth 2.0访问令牌

时间:2015-03-24 08:53:55

标签: jquery ajax json

我正在尝试创建一个JSON请求并且我有以下脚本,由于某种原因我没有得到回复。任何人都可以帮忙吗?

我有我的令牌,但我不知道我需要把它放在哪里?

    <script>
    $.ajax(
        'https://data.brightcove.com/analytics-api/videocloud/accounts/867903724001/report/?dimensions=video&format=json', {
            type: 'GET',
            dataType: 'json',
            beforeSend: function(xhr) {
                xhr.setRequestHeader("Authorization", "Bearer $token")
            },
            complete: function(resp) {
                console.log(resp);
            },
            error: function(jqXHR, textStatus, errorThrown) {
                console.log(textStatus);
            }
        }
    );
</script>

2 个答案:

答案 0 :(得分:1)

 $.ajax({
        url: 'https://data.brightcove.com/analytics-api/videocloud/accounts/867903724001/report/?dimensions=video&format=json',
      dataType: 'JSONP',
     beforeSend: function(xhr) {
                xhr.setRequestHeader("Authorization", "Bearer $token")
            },
      success: function(data){
        console.log(data)
      },
     error: function(jqXHR, textStatus, errorThrown)   {
                    console.log(textStatus);
                }

    })

将数据类型json更改为jsonp。由于您尝试访问跨域,因此必须使用jsop

答案 1 :(得分:0)

您可以在html文件中使用此脚本

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/qs/6.9.4/qs.js"></script>

需要此脚本后,您可以编写自己的javascript函数,它将起作用。

brightcoveClientId:传递动态的Brightcove客户ID。 brightcoveClientSecret:传递动态的Brightcove秘密。

      async  function brightCove(params) {
          const config = {
          url: 'https://oauth.brightcove.com/v4/access_token',
          method: 'post',
          data: Qs.stringify({
            grant_type: 'client_credentials',
            client_id: brightcoveClientId,
            client_secret: brightcoveClientSecret,
          })
        };
        const bearerToken = await axios(config);
        const getPlayableUrl = await axios.get(`https://cms.api.brightcove.com/v1/accounts/${brightcoveAccountId}/videos/${embededCode}/sources`,
          {
            "headers": {
              "content-type": "application/x-www-form-urlencoded",
              "authorization": `Bearer ${bearerToken.data.access_token}`
            }
          });
        }

对我来说很好。