Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Phonegap中登录Drupal站点_Drupal_Drupal 6_Cordova_Drupal 7 - Fatal编程技术网

在Phonegap中登录Drupal站点

在Phonegap中登录Drupal站点,drupal,drupal-6,cordova,drupal-7,Drupal,Drupal 6,Cordova,Drupal 7,我试图允许我的用户从他们的移动应用程序登录到Drupal站点,以便检索他们的一些个人资料信息。有人知道怎么做吗?我在网站上有一个服务模块,它已经为新闻提供了一些JSON文件。有一个Drupal Phonegap模块,允许Android应用程序登录、发布和查看Drupal网站上的文章。我建议您查看模块和Android应用程序的源代码,作为应用程序的参考 模块: Android应用程序的来源: 这里还有一个示例说明如何执行此操作: 如果您正在开发iPhone应用程序,请查看以下帖子:使用适用于Dru

我试图允许我的用户从他们的移动应用程序登录到Drupal站点,以便检索他们的一些个人资料信息。有人知道怎么做吗?我在网站上有一个服务模块,它已经为新闻提供了一些JSON文件。

有一个Drupal Phonegap模块,允许Android应用程序登录、发布和查看Drupal网站上的文章。我建议您查看模块和Android应用程序的源代码,作为应用程序的参考

模块:

Android应用程序的来源:

这里还有一个示例说明如何执行此操作:


如果您正在开发iPhone应用程序,请查看以下帖子:

使用适用于Drupal 6或7的Services 3.x模块,您需要通过UI创建端点,例如:

  • 姓名:my_services
  • 端点标题:我的服务
  • 服务器:REST
  • 指向端点的路径:我的\u服务\u路径
然后为新创建的端点启用以下资源:

  • 用户->登录
如果您的移动应用程序基于HTML5和JS,那么您可以使用Ajax,例如,在PhoneGap和jQueryMobile中,您可以创建这样的登录页面,以加载自定义JS文件:

<div data-role="page" id="page_login">

  <script type="text/javascript" charset="utf-8" src="my_app_login.js"></script>

  <div data-role="header">
    <h1>Login</h1>
  </div><!-- /header -->

  <div data-role="content" class='content'>
    <div>
      <label for="page_login_name">Username</label>
      <input type="text" id="page_login_name" />
    </div>
    <div>
      <label for="page_login_pass">Password</label>
      <input type="password" id="page_login_pass" />
    </div>
    <fieldset>
      <div><button type="button" data-theme="b" id="page_login_submit">Login</button></div>
    </fieldset>
  </div><!-- /content -->

</div><!-- /page -->
无论您使用什么平台开发移动应用程序,对服务用户登录资源的调用都是相同的

我这里有一个可靠的PhoneGap和Drupal示例:

或者,我制作了一个模块,它为通过PhoneGap和Services 3.x与Drupal 6或7站点通信提供了坚实的框架,称为DrupalGap:


您已经用Drupal 6和Drupal 7对此进行了标记,这两个版本的服务模块有很大的不同……您能确认您实际使用的是哪个Drupal版本吗?
$('#page_login_submit').on('click',function(){

  // grab form input
  var name = $('#page_login_name').val();
  if (!name) { alert('Please enter your user name.'); return false; }
  var pass = $('#page_login_pass').val();
  if (!pass) { alert('Please enter your password.'); return false; }

  // make the services call
  var data_string = 'username=' + encodeURIComponent(name);
  data_string += '&password=' + encodeURIComponent(pass);
  $.ajax({
      url: "http://example.com/?q=my_services_path/user/login.json",
      type: 'post',
      data: data_string,
      dataType: 'json',
      error: function(XMLHttpRequest, textStatus, errorThrown) {
        alert('page_login_submit - failed to login');
        console.log(JSON.stringify(XMLHttpRequest));
        console.log(JSON.stringify(textStatus));
        console.log(JSON.stringify(errorThrown));
      },
      success: function (data) {
        alert('You are now logged in!');
      }
  });
  return false;
});