$username)); //------------------------------------------------------ /** * Definitions */ $fbase_user = 'username'; $fbase_pass = 'password'; $login_api_endpoint = 'https://sandbox.freebase.com/api/account/login'; $write_api_endpoint = 'http://sandbox.freebase.com/api/service/mqlwrite'; /** * Login */ $header = array(); $header['Content-Type'] = 'application/x-www-form-urlencoded'; $body = 'username=' . urlencode($fbase_user) . '&password=' . urlencode($fbase_pass); $login_request = drupal_http_request($login_api_endpoint, $header, 'POST', $body); $login_result = json_decode($login_request->data); if ($login_result->messages[0]->code != '/api/status/ok/account/login') { print_r($login_result); exit; } /** * Extract cookies (containing login tokens) */ $cookies = array(); $header_cookie_data = explode(',', $login_request->headers['Set-Cookie']); foreach ($header_cookie_data as $cookie_entry) { list($cookies[]) = explode(';', $cookie_entry,1); } /** * Write */ $header = array(); $header['Content-Type'] = 'application/x-www-form-urlencoded'; $header['X-Metaweb-Request'] = 'True'; $header['Cookie'] = implode('; ', $cookies); $json_create_string = '{ "create":"unless_exists", "type":"/user/dalem/default_domain/foo", "name":"Dale was here", "id":null }'; $creation_array = json_decode($json_create_string); $envelope_array = array('query' => $creation_array); $envelope_json = json_encode($envelope_array); $body = 'query=' . urlencode($envelope_json); $write_request = drupal_http_request($write_api_endpoint, $header, 'POST', $body); print_r($write_request->data);