【问题标题】:Drupal custom service (services module)Drupal 定制服务(服务模块)
【发布时间】:2012-02-16 12:33:23
【问题描述】:

我注册了一个服务,当我调用它时,调用本身可以工作,但返回的数据是“假”。我不知道我做错了什么,也找不到有关它的信息。谁能帮帮我?

function services_sso_server_extension_services_resources() {
    return array(
        'mia' => array(
            'actions' => array(
                'retrieve' => array(
                    //'help' => 'retrieves the corresponding user on the server',
                    'file' => array('type' => 'inc', 'module' => 'services_sso_server_extension', 'name' => 'resources/extension'),
                    'callback' => '_sso_server_retrieve',
                    'args' => array(
                        array(
                            'name' => 'id',
                            'type' => 'int',
                            'description' => 'The id of the note to get',
                            'source' => array('path' => '0'),
                            'optional' => TRUE,
                        ),
                    ),
                    'access callback' => '_sso_server_access',
                    'file' => array('type' => 'inc', 'module' => 'services_sso_server_extension', 'name' => 'resources/extension'),
                    'access arguments' => array('view'),
                    'access arguments append' => TRUE,
                ),
                'action' => array(
                    //'help' => 'retrieves the corresponding user on the server',
                    'file' => array('type' => 'inc', 'module' => 'services_sso_server_extension', 'name' => 'resources/extension'),
                    'callback' => '_sso_server_get_action',
                    'args' => array(
                        array(
                            'name' => 'clientsid',
                            'type' => 'varchar',
                            'description' => 'The sid of the client to which the communication is bound',
                            'source' => array('path' => '0'),
                            'optional' => TRUE,
                        ),
                    ),
                    'access callback' => '_sso_server_access',
                    'file' => array('type' => 'inc', 'module' => 'services_sso_server_extension', 'name' => 'resources/extension'),
                    'access arguments' => array('view'),
                    'access arguments append' => TRUE,
                ),
            ),
        ),
    );
}

我在其他地方使用此代码来调用它:

 function services_checkuser() {
    global $user;
    $sid = $user->sid;

    $options = array(
        'headers' => array(
            'Cookie' => $_SESSION['gsid'],
            'Accept' => 'application/json',
            'clientsid' => $sid
        ),
        'method' => 'POST',
    );

    $response = drupal_http_request('http://sso.server:8080/usercheck/mia/action', $options);
    $data = json_decode($response->data);
}

【问题讨论】:

    标签: drupal-7 drupal-services


    【解决方案1】:

    好的,我知道如何发布数据了:

    $data = array('gsid' => $gsid);
    
    $options = array(
        'headers' => array(
            'Cookie' => $_SESSION['broker_sid'],
            'Accept' => 'application/json',
        ),
        'method' => 'POST',
        'data' => http_build_query($data)
    );
    

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      相关资源
      最近更新 更多