Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface Api {
- @FormUrlEncoded
- @POST("api/v1/access_token")
- fun retrieveToken(@Field("grant_type") authCode: String,
- @Field("code") code: String,
- @Field("redirect_uri") redirectUri: String = REDIRECT_URI): Call<ResponseBody>
- }
- class RetrofitStore {
- private val client = OkHttpClient.Builder()
- .addInterceptor(HttpLoggingInterceptor().apply {
- level = HttpLoggingInterceptor.Level.BODY
- })
- .addInterceptor(TokenHeaderInterceptor())
- .build()
- val retrofit: Api = Retrofit.Builder()
- .baseUrl(BASE_URL)
- .client(client)
- .addConverterFactory(GsonConverterFactory.create())
- .build()
- .create(Api::class.java)
- }
- class TokenHeaderInterceptor : Interceptor {
- private val settings = UserSettings()
- override fun intercept(chain: Interceptor.Chain): Response {
- val request = chain.request().newBuilder()
- request.addHeader("Authorization:", "Digest user=\"$APP_ID\" password=\"${settings.getUserCode()}\"")
- return chain.proceed(request.build())
- }
- }
- вот так дёргаю:
- private fun retrieveAccessToken(code: String) {
- val retrofit = RetrofitStore().retrofit
- retrofit.retrieveToken(AUTH_CODE, code).enqueue(object : Callback<ResponseBody> {
- override fun onFailure(call: Call<ResponseBody>, t: Throwable) {
- }
- override fun onResponse(call: Call<ResponseBody>, response: Response<ResponseBody>) {
- }
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement