2016-07-15 3 views
0

Я пытаюсь использовать пакеты и translateR с R-Studio.R: google translate API (packages 'translate' & '' translateR ')

Я создал и API-интерфейс «сервер» и «браузер». Браузер API отлично работает при запуске примера:

https://www.googleapis.com/language/translate/v2?key=YOUR_API_KEY&q=hello%20world&source=en&target=de

Однако при использовании либо ключа API и либо пакета с R-Studio (translate/translateR), я получаю сообщение об ошибке. С translate

> library(translate) 
> set.key("mykey") 
> translate('Hello, world!', 'en', 'de') 
Error in function (type, msg, asError = TRUE) : 
    SSL certificate problem: unable to get local issuer certificate 

В чем может быть проблема? Спасибо за помощь!

+0

сервер и браузер API, не поможет, вам нужен API перевода Google. https://cloud.google.com/translate/docs/ –

+0

Извините, не могли бы вы уточнить? Я уже включил API перевода Google - так я получил исходные ключи API «сервер» и «браузер». R-пакеты 'translate' и' translateR' должны с моей стороны работать с этими ключами. Что мне не хватает? –

+0

Ваш запрос API требует наличия учетной записи google с информацией о выставлении счетов в файле? Если нет, значит, вы получили неправильный API. –

ответ

1

Кажется, проблема была связана с системой. Он работает после того, как я изменил прокси-сервер https.

0

Я также имел некоторые проблемы с этим и написал небольшую функцию для извлечения данных из API:

#' Translate with R 
#' 
#' Translate Keywords or/and text with the Google Translate API 
#' The Functions allows to translate keywords or sentences using the Google Translate API. 
#' To use this function you need to get a API-Key for the Google Translate API <https://cloud.google.com/translate/docs/?hl=en>. 
#' @param text The keyword/sentence/text you want to translate 
#' @param API_Key Your API Key. You get the API Key here: <https://cloud.google.com/translate/docs/?hl=en> 
#' @param target The Language target your text translated to. For German 'de'. 
#' @param source The Language your given text/keyword is. For example 'en' - english 
#' translate() 
#' @examples 
#' \dontrun{ 
#' translate(text = "R is cool", API_Key = "XXXXXXXXXXX", target = "de", source = "en") 
#' } 


translate <- function(text, 
         API_Key, 
         target = "de", 
         source = "en") { 
    b <- paste0(
    '{ 
    "q": [ 
    "', 
    text, 
    '" 
    ], 
    "target": "', 
    target, 
    '", 
    "source": "', 
    source, 
    '", 
    "format": "text" 
}' 
) 
    url <- 
    paste0("https://translation.googleapis.com/language/translate/v2?key=", 
      API_Key) 
    x <- httr::POST(url, body = b) 
    x <- jsonlite::fromJSON(rawToChar(x$content)) 
    x <- x$data$translations 
    return(x$translatedText[1]) 
    } 

Обновлено Gist здесь: https://gist.github.com/dschmeh/8414b63c3ab816c44995cd6872165f0e