首页 > 解决方案 > Udemy API HTTP 授权

问题描述

嗨,我正在学习 API,我想用 Udemy 的 API 做一个项目。阅读文档我看到了这些例子

curl --user {YOUR_CLIENT_ID}:{YOUR_CLIENT_SECRET} https://www.udemy.com/api-2.0/courses
curl -H "Authorization: Basic {BASE64_ENCODED(CLIENT_ID:CLIENT_SECRET)}" https://www.udemy.com/api-2.0/courses

但我不知道如何使用 superagent 将其翻译成我的代码,我知道我有这个

const request = superagent
request.get("https://www.udemy.com/api-2.0/courses")
.set({myClientId}, {myClient_Secret})
.then(function(serverResult){
console.log(serverResult)})

但仍然出现在控制台 GET https://www.udemy.com/api-2.0/courses 403 (Forbidden)

标签: javascriptapihttpauthorizationsuperagent

解决方案


如果这有帮助,这是一个从 Google Apps 脚本 (GAS) 调用 Udemy Instructor API 的基本函数。GAS 提供了 UrlFetchApp().fetch() 方法。这是 Apps Script 专有的,但您仍然会发现标头的结构很有帮助。

function callUdemyInstructorAPI () {
  var baseUrl = 'https://www.udemy.com/instructor-api/v1/';
  var url = baseUrl + 'taught-courses/courses/?apiOptionsHere';
  var params = {
  "method" : "GET",
     "headers" : {
       'Authorization' : 'bearer mySecretUdemyAPIToken',
     }
  };
  var response = UrlFetchApp.fetch(url, params);
}


推荐阅读