2012-07-03 18 views
3

是否可以在沒有瀏覽器的情況下(在JAVA中)在谷歌廣告中實現oauth2認證? 我下載了http://code.google.com/p/google-api-ads-java/和示例。 在瀏覽器的幫助下有oauth2認證的例子 沒有瀏覽器可以做嗎? 如果可能,那麼如何? 瀏覽器中有按鈕: 允許訪問/不,謝謝 如何解決?是否可以在沒有瀏覽器的谷歌廣告中實現oauth2身份驗證?

+0

在OAuth的參與沒有瀏覽器的循環來處理重定向的一塌糊塗,javascript和cookie處理通常存在?棘手。非常棘手。你想用它做什麼? (我不認爲我必須登錄到應用程序的網站才能看到廣告,但是我知道什麼...) –

回答

0

您對OAuth2有幾個選項link,我認爲Service Accounts不需要用戶同意 - 但我沒有找到任何示例如何使用它。

在我的實現中,我做了一些有點醜陋的事情,並且我使用了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(); 
    }