Как я могу получить Запрошенный URL (как в параметре запроса Java) в качестве моего URL ответа? - PullRequest
0 голосов
/ 19 сентября 2019

Объяснение:

В 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)

}
...