2017-09-13 3 views
2

ab Bing Image Search v 5.0 von heute (13. September 2017) ändern ihre Back-End-API?Bing Image Search v5.0 gibt Fehler

Unter Verwendung von this console gibt die Überschrift "Content-Type" mit dem Wert "multipart/form-data" eine Antwort mit erwarteten Werten.

Wenn jedoch von meinem iOS-App mit den exakt gleichen Parameter und Header genannt, erhalte ich eine Fehlermeldung von „RequestParameterInvalidValue; message =‚Parameter ungültigen Wert hat.‘; Parameter = imgurl;“

Der folgende Code funktioniert wie von gestern:

NSString* path = @"https://api.cognitive.microsoft.com/bing/v5.0/images/search"; 
    NSString* skip = [NSString stringWithFormat:@"skip=%li", (long)searchOffset]; 
    NSString* queryString = [NSString stringWithFormat:@"q=%@", searchQuery]; 
    NSArray* array = @[ 
        // Request parameters 
        @"entities=true", 
        @"count=50", 
        skip, 
        @"safeSearch=Strict", 
        queryString 

        ]; 

NSString* string = [array componentsJoinedByString:@"&"]; 
path = [path stringByAppendingFormat:@"?%@", string]; 

NSLog(@"%@", path); 

NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]]; 
[_request setHTTPMethod:@"POST"]; 
// Request headers 
[_request setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"]; 
[_request setValue:accessKey forHTTPHeaderField:@"Ocp-Apim-Subscription-Key"]; 
// Request body 
[_request setHTTPBody:[path dataUsingEncoding:NSUTF8StringEncoding]]; 

ich den Content-Type-Header aus dem Code in Test entfernen und eine Arbeits Antwort erhalten, aber dies gestern auf unsere Produktion App gearbeitet. Gibt es einen Workaround, um meinen Produktionscode erneut zu aktivieren, ohne die App erneut zur Genehmigung einreichen zu müssen?

+0

Ich habe gestern das gleiche Verhalten erlebt! Meine Tests bestanden und plötzlich begann dieser mit genau dem gleichen Fehler zu scheitern ... –

+0

Scheint so, als wäre der Content-Type-Header jetzt veraltet. –

Antwort

0

hatte auch diesen Fehler jetzt. Versucht, es zu debuggen und das ist, was meine Dump zurückgegeben:

HTTP_Request2_Response {#460 ▼ 
#version: "1.1" 
#code: 400 
#reasonPhrase: "Bad Request" 
#effectiveUrl: 
"https://api.cognitive.microsoft.com/bing/v5.0/images/search?q=cats" 
#headers: array:16 [▼ 
"cache-control" => "no-cache, no-store, must-revalidate" 
"pragma" => "no-cache" 
"content-length" => "169" 
"content-type" => "application/json; charset=utf-8" 
"expires" => "-1" 
"vary" => "Accept-Encoding" 
"server" => "Microsoft-HTTPAPI/2.0" 
"p3p" => "CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND"" 
"bingapis-traceid" => "18AAD6F029D1439EB653971FBD07B6EF" 
"x-msedge-clientid" => "260206484A6764FE375C0CB54B826518" 
"x-msapi-userstate" => "d3dd" 
"x-msedge-ref" => "Ref A: 18AAD6F029D1439EB653971FBD07B6EF Ref B: 
SG2EDGE0713 Ref C: 2017-09-14T07:12:07Z" 
"apim-request-id" => "9de68803-fee7-4a56-aa0e-f00e2b43929b" 
"strict-transport-security" => "max-age=31536000; includeSubDomains; 
preload" 
"x-content-type-options" => "nosniff" 
"date" => "Thu, 14 Sep 2017 07:12:06 GMT" 
] 
#cookies: [] 
#lastHeader: "date" 
#body: "{"_type": "ErrorResponse", "instrumentation": {}, "errors": 
[{"code": "RequestParameterInvalidValue", "message": "Parameter has 
invalid value.", "parameter": "i ▶" 
#bodyEncoded: true 

Ich dachte, es ist etwas falsch mit meinem Code war aber dann sah ich deinen Thread hier und folgerte, es war ein Fehler auf Bing/Azure Ende.

0

Die folgenden curl funktioniert. Gestern habe ich jedoch meine kognitiven Microsoft-Schlüssel in allen Kategorien komplett neu geschrieben, weil sie kaputt gingen. Ich dachte, die Schlüssel wären wahrscheinlich schon vor Monaten kaputt gegangen, aber vielleicht war es erst gestern. Ich musste keine Parameter in einer meiner vielen Testdateien ändern.

0

Es gibt jetzt einen Fix in der Bereitstellung, der das Problem mit POST-Anfragen beheben sollte

Verwandte Themen