Utilizando um select com resultado de um dataset em uma pagina publica

Boa noite, sou iniciante no fluig e me deparei com um desenvolvimento em página pública. Eu consigo criar um SELECT com resultados de um dataset em uma página pública ? Já tentei utilizar um exemplo com OAuth, porém, é exibido no browse OAuth is not deffined.

Tentei utilizar esse exemplo para começar entender:

var Process = SuperWidget.extend({

//método iniciado quando a widget é carregada init: function() { this.loadDataset(); },

//BIND de eventos bindings: { local: {}, global: {} },

loadDataset: function() {

var oauth = OAuth({ consumer: { key: '---', secret: '--' }, signature_method: 'HMAC-SHA1', hash_function: function(base_string, key) { return CryptoJS.HmacSHA1(base_string, key).toString(CryptoJS.enc.Base64); }, nonce_length: 6 });

// Recurso a ser consumido no fluig var request_data = { // Necessário passar URL completa para não dar erro de signature invalid url: 'http://server:porta/api/public/ecm/dataset/search', method: 'GET', data: { datasetId: 'dsFilial' } };

// Tokens do usuário aplicativo para o Oauth APP cadastrado var token = { key: '-', secret: '--' };

/ A geração dos dados para autenticação OAuth , esta sendo gerado no atributo data do ajax através da chamada do método: oauth.authorize(request_data, token) */

$.ajax({ url: request_data.url, crossDomain: true, async: true, type: request_data.method, data: oauth.authorize(request_data, token) }).done(function(data) {

}); }

});

Cara, eu implementei usando API pública, pegando dados do dataset. Talvez de certo aí... Segue o código


var _this = this;

        // AUTENTICACAO OAUTH
        var oauth = OAuth({
            consumer: {
                'key': 'novasAreas',
                'secret': 'novasAreas'
            },
            signature_method: 'HMAC-SHA1',
            hash_function: function (base_string, key) { 
                return CryptoJS.HmacSHA1(base_string, key).toString(CryptoJS.enc.Base64);
            },
            nonce_length: 6
        });

        var request_data = {
            url: WCMAPI.getServerURL() + '/api/public/ecm/dataset/search?datasetId=dsCidades&searchField=cidade',
            method: 'GET',
            data: {}
        };

        var token = {
            'key': '440b7edd-560e-4643-a836-4bf9b1d91b2d',
            'secret': '44f663e5-e202-409d-b7ed-d8717f5cd3cf3ba317e5-60dc-4616-8d78-7ab9e7a6af5f'
        };

        // PAGA DADOS DA API
        var Dados;

        $.ajax({
            url: request_data.url,
            type: request_data.method,
            contentType: "application/json",
            headers: oauth.toHeader(oauth.authorize(request_data, token)),
            async: false
        }).done(function(data) {
            Dados = data.content
        })

        // ATRIBUÍ OS DADOS DA API EM UMA ARRAY
        var Data = [];

        for (i in Dados) {
            Data[i] = Dados[i]['cidade'] + ' - ' + Dados[i]['estado'];
        }

        // AUTO COMPLETE FLUIG COM OS DADOS DO ARRAY
         var myAutocomplete = FLUIGC.autocomplete('#txtCidade_' + _this.instanceId, {
            source: substringMatcher(Data),
            name: 'cities',
            displayKey: 'description',
            tagClass: 'tag-gray',
            type: 'tagAutocomplete',
            highlight: true,
            minLength: 1,
            hint: true,
            searchTimeout: 100,
            type: 'tagAutocomplete',
            name: 'cities',
            tagClass: 'tag-warning',
            maxTags: 1,
            allowDuplicates: false,
         });
unction substringMatcher(strs) {
            return function findMatches(q, cb) {
                var matches, substrRegex;

                matches = [];

                substrRegex = new RegExp(q, 'i');

                $.each(strs, function(i, str) {
                    if (substrRegex.test(str)) {
                        matches.push({
                            description: str
                        });
                    }
                });
                cb(matches);
            };
        }

Abs

Eduardo, o campo que você alimenta é um Select? Estou precisando fazer isso em um campo input text, lendo o colleague (exemplo), estou tentando com o FLUIGC.filter mas não consigo fazer a autenticação do app…