Existe-t-il un moyen de vérifier dans mon application (canvas) si l'utilisateur a une permission étendue (par exemple "stream.publish") ?
Je ne peux trouver une solution que pour l'ancien sdk.
Merci !
Existe-t-il un moyen de vérifier dans mon application (canvas) si l'utilisateur a une permission étendue (par exemple "stream.publish") ?
Je ne peux trouver une solution que pour l'ancien sdk.
Merci !
j'ai trouvé une solution moi-même
function check_ext_perm(session,callback) {
var query = FB.Data.query('select publish_stream,read_stream from permissions where uid={0}', session["uid"]);
query.wait(function(rows) {
if(rows[0].publish_stream == 1 && rows[0].read_stream == 1) {
callback(true);
} else {
callback(false);
}
});
};
ce qui permettra de vérifier publish_stream
et read_stream
exemple d'utilisation :
check_ext_perm(response.session, function(isworking) {
if(isworking) {
// post something to wall
} else {
// ask for login
}
});
Fonction de choise généralisée,
function check_permissions (permissions, uid, cb) {
FB.Data
.query('select {0} from permissions where uid={1}', permissions, uid)
.wait(function (res) {
if (!res || res.length < 1) return cb(false);
var row = res[0];
var aperm = permissions.split(',');
for (var i = 0; i < aperm.length; i++) {
if (row[aperm[i]] != 1) return cb(false);
}
return cb(true);
});
}
Appelle le callback avec true si l'utilisateur a toutes les permissions, sinon appelle le callback avec false.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.