あなたが達成したいとの問題はGoogleクラウドプリントは、独自のプリントを提出認証されたユーザーのために意図されていることがあるがジョブ。私が正しく理解していれば、サーバーは注文を受けた後にコールバックとして印刷ジョブを提出したいと思っています。したがって、印刷ジョブは、Googleユーザーではなくサービスアカウントによって提出する必要があります。これは少しハックを使用して(私たちは、私が働いている会社で、生産にそれを使用する)行うことができ、ここで説明:
Share printer with Google API Service Account
は、私はC#やPHPコードであなたを助けることができない、基本的に次のようにする必要があり「華麗な」PHPクラス使用するJWTの資格情報について
var request = require('google-oauth-jwt').requestWithJWT();
service.submitJob = function(readStream,callback) {
// Build multipart form data
var formData = {
printerid: cloudPrintConfig.googleId,
title: 'My Title',
content: readStream,
contentType: "application/pdf",
tag: 'My tag',
'ticket[version]': '1.0',
'ticket[print]': ''
};
// Submit POST request
request({
uri: cloudPrintConfig.endpoints.submit,
json: true,
method: 'post',
formData: formData,
jwt: cloudPrintConfig.jwt
}, function (err, res, body) {
if (err) {
callback(err,null);
} else {
if (body.success == false) {
callback('unsuccessful submission',null);
} else {
callback(null, body);
}
}
});
}
詳細はhere
を見つけることができます:あなたは、NodeJSでコードスニペットあり、それが役に立てば幸いここで、JWTは、Googleクラウドプリントへの呼び出しを認証させることができるようGoogleのユーザー認証、 Googleサービスの認証ではありません。つまり、そのコードを変更する必要があります。 –