使用Google Cloud Print服务构建HTTP POST请求以注册打印机

时间:2015-04-21 18:20:22

标签: c++ http c++11 google-api google-cloud-print

我正在尝试使用注册API在以下网址注册使用Google云打印服务的打印机:

https://developers.google.com/cloud-print/docs/proxyinterfaces#register

我正在尝试使用适用于c ++的Google API客户端库发送HTTP POST请求。

这是我的源代码:

void IllustratePostWithData(const char* url, HttpTransport* transport){

    scoped_ptr<HttpRequest> request(transport->NewHttpRequest(HttpRequest::POST));
    request->AddHeader("X-CloudPrint-Proxy", "my proxy");
    request->set_content_type("multipart/form-data; boundary=-----------RubyMultipartPost");
    request->set_url(url);
    util::Status status = request->Execute();
    if (!status.ok())
        cerr << status.error_message();

    HttpResponse *response = request->response();
    if (response->ok()) {
        cout << "Success" << endl;
    } else {
        cout << "Failed with status=" << response->status().error_message() << endl;
    }
    string body;
    util::Status stat = response->GetBodyString(&body);
    cout << "Received HTTP status code =" << response->http_code() << endl;
    if (stat.ok()) {
        cout << "HTTP body" << body << endl;
    }
}

int main() {
    char* Cloud_print_url = "https://www.google.com/cloudprint/register";
    scoped_ptr<HttpTransport> transport;

    HttpTransportFactory* factory = new CurlHttpTransportFactory();
    HttpTransport* globalTransport = factory->New();

    IllustratePostWithData(Cloud_print_url, globalTransport);
    return 0;
}

我收到以下回复:

Success
Received HTTP status code =200
HTTP body{
 "success": false,
 "message": "Proxy ID is required.",
 "request": {
  "time": "0",
  "params": {
  }
 },
 "errorCode": 115
}

通过API,我找不到设置代理的功能。我错过了HTTP POST请求中的某些内容吗?

由于

0 个答案:

没有答案