Ich arbeite mit der GCS-API und versuche, eine Umfrage mit Bilddaten zu erstellen.Welches Format hat das Feld "API SurveyQuestionImage.Data"?
Ich verwende das NuGet-Paket Google.Apis.ConsumerSurveys.v2 Version 1.14.0.564 auf der .Net-Plattform. Ich kann Umfragen erstellen, die keine Bilddaten ohne Probleme enthalten. Wenn ich jedoch versuche, eine Umfrage mit Bilddaten zu erstellen, erhalte ich einen Fehler von der API.
Ich habe auf der Hand Base64 codiert Png-Format-Bilddaten. Meine Bilder korrekt angezeigt wird in einem IMG-Tag auf einer Web-Seite, wenn das src-Attribut auf
'data:image/png;base64,<image base64 string>'
gesetzt Ich mag diese Bilddaten an die API senden, um die Umfrage Bild zu füllen. Nach meinem Verständnis muss ich die Data-Eigenschaft des Google.Apis.ConsumerSurveys.v2.Data.SurveyQuestionImage-Objekts auf eine Zeichenfolge setzen, die die Bilddaten enthält. Ich war nicht erfolgreich.
ich zum ersten Mal meines base64 String in einen Byte-Array dekodieren:
byte[] bytes = Convert.FromBase64String(<image base64 string>);
ich versucht habe, in dem SurveyQuestionImage Objekt die Daten-Eigenschaft als:
image.Data = Encoding.Unicode.GetString(bytes);
Dies führt zu diesem Fehler aus dem API :
Google.Apis.Requests.RequestError Invalid value for ByteString: <the Data string>
Ich habe auch versucht, die Byte-Array zu einem hexadezimalen konvertieren codierte Zeichenfolge wie:
StringBuilder sb = new StringBuilder(bytes.Length);
foreach (Byte b in bytes)
{
sb.Append(b.ToString("X2"));
}
image.Data = sb.ToString();
Daraus ergibt sich die hoffnungsvoller Fehler:
Google.Apis.Requests.RequestError Invalid Value supplied to API: image_data was bad. Request Id: 579665c300ff05e6c316a09e600001737e3430322d747269616c320001707573682d30372d32322d72313000010112 [400] Errors [ Message[Invalid Value supplied to API: image_data was bad. Request Id: 579665c300ff05e6c316a09e600001737e3430322d747269616c320001707573682d30372d32322d72313000010112] Location[ - ] Reason[INVALID_VALUE] Domain[global] ]
Kennt jemand das richtige Format für die Data
Eigenschaft des Google.Apis.ConsumerSurveys.v2.Data.SurveyQuestionImage
Objekt?
Ausgezeichnet! Das macht den Job. Vielen Dank Lux. –