问题描述
我使用锡罐查询来获取我的香水。
我想拿一个叫“ Ming”的名字,但我会向所有学生展示。
我逐步使用API,不知道怎么了?
这是我的数据:
这是我的代码:
<?php
$loader = require '../vendor/autoload.php';
$lrs = new TinCan\RemoteLRS(
'https://cloud.scorm.com/lrs/SFXXXXX/','1.0.0','accountXXX','PWDXXXX'
);
$actor = new TinCan\Agent(
['name'=> '名 小']
);
$response = $lrs->queryStatements(
[ 'agent' => $actor,'limit' =>8,]
);
?>
这是我的参考: Tin-can reference
请帮助我,谢谢。
新:
我将代码更改为代理,
但显示:
he following 'agent' parameter contains invalid properties:
'{"objectType":"Group","name":"\u540d \u5c0f"}'
解决方法
let topics = [];
let topNews = [];
function getTrends() {
var myHeaders = new Headers();
myHeaders.append(
"Authorization","Bearer ************"
);
myHeaders.append(
"Cookie",'personalization_id="v1_QSZs3kHuqI6knlNtIbIchQ=="; guest_id=v1%3A159630901122767291'
);
var requestOptions = {
method: "GET",headers: myHeaders,redirect: "follow",};
const url =
"https://cors-anywhere-gp.herokuapp.com/https://api.twitter.com/1.1/trends/place.json?id=23424977";
fetch(url,requestOptions)
.then((response) => response.json())
.then((responseJson) => topFive(responseJson))
.catch((error) => console.log("error",error));
}
function topFive(responseJson) {
for (let i = 0; i < 5; i++) {
topics.push(responseJson[0].trends[i].name);
getNews(responseJson[0].trends[i].name.replace("#",""),i);
}
}
function getTopicURL(topic) {
return `https://api.cognitive.microsoft.com/bing/v7.0/news/search?q=${topic}&count=5`;
}
function getHeaders() {
var headers = new Headers();
headers.append('Ocp-Apim-Subscription-Key','******');
return headers;
}
function getOptions() {
return {
headers: getHeaders(),method: 'GET',redirect: 'follow'
};
}
function fetchAsJSON(url,options) {
return fetch(url,options).then(response => response.json());
}
function toThunk(fn,...args) {
return () => fn(...args);
}
function delay(ms,fn) {
return new Promise((resolve,reject) => {
setTimeout(function () {
fn().then(resolve).catch(reject);
},ms);
});
}
function getNews(topic,index) {
return delay(
index * 1000,toThunk(
fetchAsJSON,getTopicURL(topic),getOptions()
)
);
}
Promise.
all(topics.map(getNews)).
then(topicsArray => {
topicsArray.forEach((topic,index) => {
topNews[index] = topic.value;
});
}).
catch(exception => {
console.log('error:',exception);
});
getTrends();
getNews();
console.log(topNews);
不是可用的查询参数之一。您将需要使用actor
,并且必须提供IFI来过滤代理的语句,在这种情况下,agent
值account
在xAPI中不是可接受的标识符,因此不能用作过滤器值。可用属性列表与name
资源中列出的一组查询字符串参数相匹配:https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Communication.md#213-get-statements