Объяснение:
В requestUserconsent
есть попадание на страницу после открытия этой страницы.Я хочу получить этот URL в качестве URL-адреса моего ответа.
, как мы можем сказать в параметре запроса Java (таким образом, я хочу URL-адрес запроса), этот код предназначен для аутентификации Bing.Я хочу сделать сервис по обновлению цены на Bing Feed.
object BingAuth {
private val PRODUCT_ID = "29335a61-f9a2-441b-b064-7201de8438ac"
private val developerToken = BING_DEV_TOKEN
private val clientId = BING_CLIENT_ID
private val clientSecret = BING_CLIENT_SECRET
private val redirectURI = new URL(BING_REDIRECT_URI)
def authenticate(): String = {
val oAuthCodeGrant = new OAuthWebAuthCodeGrant(clientId, clientSecret, redirectURI)
val authorizationData = new AuthorizationData()
authorizationData.setAuthentication(oAuthCodeGrant)
authorizationData.setDeveloperToken(developerToken)
requestUserConsent(authorizationData)
}
def requestUserConsent(authorizationData: AuthorizationData): String = {
System.out.println(
"Open a new web browser and navigate to \n" +
s"${authorizationData.getAuthentication.asInstanceOf[OAuthWebAuthCodeGrant].getAuthorizationEndpoint.toString.replace(" ", "%20")}\n" +
"Grant consent in the web browser for the application to access " +
"your advertising accounts, and then enter the response URI that includes " +
"the authorization 'code' parameter:")
val responseUri = new Scanner(System.in).nextLine()
// println("Response Uri: " + responseUri)
val tokens = authorizationData.getAuthentication.asInstanceOf[OAuthWebAuthCodeGrant].requestAccessAndRefreshTokens(new URL(responseUri))
println(s"Access Token Received - ${tokens.getAccessToken}")
tokens.getAccessToken
}
def getHttp(token: String): HttpResponse[String] = Http(s"https://content.api.bingads.microsoft.com/shopping/v9.1/bmc/76971/product/online:en:US:$PRODUCT_ID")
.header("DeveloperToken", developerToken)
.header("AuthenticationToken", token).asString
def main(args: Array[String]): Unit = {
val token = authenticate()
println(getHttp(token)
}