我正在使用CMS,我想知道我是否可以通过所有者获取内容,另一方面可以显示应用用户的图片。
我知道我可以通过以下方式获取当前用户的内容列表:
QB.content.list(function(error, response){
if(error) {
console.log(error);
} else {
// Success
}
});
但是我可以访问其他用户的内容吗?
非常感谢
答案 0 :(得分:4)
不幸的是,此功能现在不在API中。如果是你想要的个人资料图片,你可以在用户身上使用blob参数。
如果您能为我们提供一些好的用例 - 请发送电子邮件至alex.bass@quickblox.com,我们会考虑添加它。
希望这不会给你带来太多不便。
修改强>
我的同事告诉我,有一种解决方法 - 它并不完美,但确实可以完成工作。
您只需2个字段即可创建自定义对象类:blob_id和user_id。然后在上传内容时,只需在回调中添加记录。
这是完整的代码 - 我还没有测试过它。如果您有任何问题,请告诉我。
上传时:
QB.init(app_id, auth_key, auth_secret);
var user_id;
QB.createSession({login: <username>, password: <password>}, function(error, response){
if(error) {
console.log(error);
} else {
// Just making a record of the user_id for use later
user_id = response.id;
}
});
//
// later...
//
var files = $("input[type=file]")[0].files;
// This function will create "content" record in QB, then when QB returns AWS URL to
// post to, it will automatically upload it, then on completion, mark uploaded.
QB.content.createAndUpload({'file': files, 'public': true}, function(err, response){
if (err) {
console.log(err);
} else {
// Response will contain blob ID.
var data = {
blob_id: response.id,
blob_owner: user_id
}
QB.data.create("BlobsToUsers", data, function(err, response){
if (err) {
console.log(err);
} else {
// Done
}
});
}
});
然后,稍后当您列出内容时:
QB.data.list("BlobsToUsers", { blob_owner: user_id } function(err, response){
if (err) {
console.log(err);
} else {
// response.items will be array of all records with the specified blob_owner.
// You could also filter by date, timestamp or whatever you want.
}
});
将其分解为步骤:
<img>
标记的AWS URL。希望这有帮助