2015-02-03 2 views
9

У меня есть сайт, размещенный на Azure, где блокируются обращения к API Google UrlShortner. Я получаю сообщение об ошибке:Google UrlShortener «ipRefererBlocked»

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "usageLimits", 
    "reason": "ipRefererBlocked", 
    "message": "There is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your API key configuration if request from this IP or referer should be allowed.", 
    "extendedHelp": "https://console.developers.google.com" 
    } 
    ], 
    "code": 403, 
    "message": "There is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your API key configuration if request from this IP or referer should be allowed." 
} 
} 

API-интерфейс работает отлично работает локально и я добавил адрес IP-с учетными данными проекта API в консоли разработчика. Это, похоже, проблема с Azure, но я не вижу, где у кого есть ответ.

Любые предложения были бы замечательными!

ответ

1

Я так и не смог решить эту проблему, даже используя статический ip. Работа вокруг была tinyUrl. Их api работал безупречно.

+0

Человек, может у вас объяснить больше? У меня такая же ошибка и не могу исправить это :( – Peter

0

Да использовать крошечный URL, но не их API. Я никогда не мог заставить их API работать.

+ (void) shortenLink:(NSString*) link andPerformBlock:(void (^)(NSString*, NSError*))block { 
    NSURLRequest* shortenedLinkRequest = [LinkShortener createTinyURLShortenerRequest:link]; 

    NSOperationQueue *queue = [[NSOperationQueue alloc] init]; 
    [NSURLConnection sendAsynchronousRequest:shortenedLinkRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { 
     NSString*shortenedLink = @""; 
     UIAlertView* alert = nil; 
     if ([data length] > 0 && error == nil) { 
      NSString* shortenedLink = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
     } 
     if (block) { 
      block(shortenedLink, error); 
     } 
    } 
} 

+ (NSURLRequest*) createTinyURLShortenerRequest:(NSString*) link { 
    NSString* escapedLink = [link stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];; 
    NSString* tinyURLShortenerURL = [NSString stringWithFormat:@"http://tinyurl.com/api-create.php?url=%@", escapedLink]; 
    NSURL* tinyURLShortenerUrl = [NSURL URLWithString:tinyURLShortenerURL]; 
    NSMutableURLRequest* shortenedLinkRequest = [NSMutableURLRequest requestWithURL:tinyURLShortenerUrl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:URL_SHORTENER_TIMEOUT]; 
    [shortenedLinkRequest setHTTPMethod:@"GET"]; 
    return shortenedLinkRequest; 
}