Mencionei muitos links, incluindo o seguinte:
- Módulo de serviços. Como construir os dados JSON com informações da sessão para criar o nó?
- GitHub - Criando um nó usando o Services 6.3 REST
Tentei várias maneiras de POSTAR um novo nó para um site Drupal, mas falhei. Criei um exemplo de CCK para armazenar dados dos alunos com nome, idade, sexo, DOB e adicionei alguma lista.
Instalei e configurei o módulo Serviços (D7) e criei um ponto final de serviço nos serviços.
Como esperado, GET é a maneira mais fácil de obter detalhes de um nó no JSON. http://localhost/drupal/services/node
simplesmente listou todos os nós.
Ainda não consigo descobrir como usar o método POST .
Gostaria de procurar os alunos cujo nome contém john . Eu tentei
localhost/drupal/services/node&node[name]=john
. Eu usei o plugin POST Man para o Chrome sem sucesso. Eu também tentei algumas outras maneiras.Tentei adicionar um novo aluno ao site sem sucesso.
Alguém pode me orientar a fazer o trabalho acima bem?
ATUALIZAÇÃO:
Tentei adicionar novos nós do tipo article . Funcionou bem. mas quando estou tentando adicionar nós do tipo Departamento CCK Ele está mostrando " s: 22:" Falha na validação do CSRF "; " Aqui estão as capturas de tela
Passei pelo link https://drupal.org/node/2013781
Eu segui session = session_name = session_id, mas ainda recebo um erro.
Respostas:
Espero que isso ajude você,
Para Drupal 7
Ferramentas usadas:
Solicitações HTTP
Para fazer solicitações de HTTP, você precisa usar o complemento do Firefox POSTER .
Dois métodos comumente usados para uma resposta de solicitação entre um cliente e um servidor são:
Após o download do complemento. Abra o Firefox -> Ferramentas -> Pôster
Certifique-se de ativar a autenticação da sessão . Depois dos Serviços está configurado corretamente, antes de criar o nó que você deve log-in . Uma vez logado, você pode criar os nós.
Para fazer login, use o método POST, com o URL como - http://XXXXXXXX.com/demo/rulebook/rulebook_endpoint/user/login
Se for um usuário válido , ele retornará detalhes do usuário com o ID e o nome da sessão . Se não for válido, ele retornará Acesso negado
Usando o nome e o ID da sessão no POST HEADER, podemos criar novos nós
Agora, depois de adicionar o HEADER, você precisa fazer uma solicitação HTTP POST e garantir que o usuário tenha permissões para criar o nó.
Se o nó for criado, você receberá a resposta com o link do nó
NOTA: Se você desejar a resposta em JSON, deverá sempre acrescentar .json no final da URL. por exemplo, http://XXXXXXXX.com/test/endpoint/user.json OU http://XXXXXXXX.com/test/endpoint/node.json OU http://XXXXXXXX.com/test/endpoint/user/user_id .json OU http://XXXXXXXX.com/test/endpoint/node/node_id.json
fonte
Para Drupal 7 e Serviços 7.x-3.x
Etapa 1: emita uma solicitação de postagem para o
user.login
recurso com seu nome de usuário e senha.Se o login for bem-sucedido, você receberá um objeto de resposta com 4 propriedades:
Captura de tela do carteiro do google chrome
Etapa 2: emitir uma solicitação de postagem
node
com 2 cabeçalhosCaptura de tela do carteiro do google chrome
fonte
Se você fizer o POST na API REST , precisará colocar tudo nos dados do POST , não no URL . No Postman, você pode definir a solicitação para postagem, em
x-www-form-urlencoded
seguida digite e abaixo os valores dos dados. Não se esqueça de adicionar status, uid, idioma, tipo, título e valores extras. O URL do recurso deve ser apenasHOST/REST_API_PATH/node
.fonte