3

是否可以在没有浏览器的谷歌广告中实现 oauth2 身份验证(在 JAVA 中)?我下载了 http://code.google.com/p/google-api-ads-java/和示例。在浏览器的帮助下有 oauth2 autentication 的示例是否可以在没有浏览器的情况下进行?如果可能,那怎么办?浏览器中有按钮: 允许访问/不,谢谢 如何解决?

4

1 回答 1

0

OAuth2链接的选项很少,我认为服务帐户不需要用户同意 - 但我没有找到任何使用它的示例。

在我的实现中,我做了一些有点丑陋的事情,我使用了 Selenium,它进入网页并授予访问权限。它看起来像这样:

    final WebDriver driver = new HtmlUnitDriver();
    driver.get(url);
    try {
        final WebElement element = driver.findElement(By.id("submit_approve_access"));
        element.click();
    } catch (NoSuchElementException nsee) {
        //we aren't logged so first we log in then next we click approve
        final WebElement login = driver.findElement(By.id("Email"));
        final WebElement password = driver.findElement(By.id("Passwd"));

        login.sendKeys(email);
        password.sendKeys(passwd);

        password.submit();
        // logged in

        final WebElement aproveButton = driver.findElement(By.id("submit_approve_access"));
        aproveButton.submit();
        // oauth approved
    } finally {
        driver.close();
    }
于 2012-07-11T07:23:44.300 回答