Я пытаюсь зарегистрировать принтер в службе Google Cloud Print с помощью API регистрации по адресу:
https://developers.google.com/cloud-print/docs/proxyinterfaces#register
Я пытаюсь отправить HTTP-запрос POST с помощью клиентской библиотеки Google API для c ++.
Вот мой исходный код:
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?
Спасибо
Задача ещё не решена.