javascript - 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)
解决方案
如果这有帮助,这是一个从 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);
}
推荐阅读
- python - 如何模拟文件写入python中的多个文件
- adsense - 我在 Google Adsense 上的网站未获得批准“无内容”
- c# - 是否可以在 MVC 项目中实现 Windows 和数据库身份验证?
- jenkins - 在声明性 Jenkinsfile 中动态加载代理
- c# - 不包含“AddComponent”的定义,并且 Unity 中没有可访问的扩展方法“AddComponent”错误
- php - 如何在不同的 PHP 页面上访问用户对我的测验的答案?
- scala - 如何在 Spark GraphX 中正确使用广播变量?
- python - 将多个数据框的列加入一个新的数据框
- postgresql - Postgresql 按年查询
- sql - 如何从包含嵌套 json 列的表中创建一组表