我正在使用Twitter端点API关注其他用户。 API是:
https://api.twitter.com/1.1/friendships/create.json?follow=&screen_name=&user_id=
将Authorization标头传递为:
@Headers("Authorization: OAuth oauth_consumer_key=DC0sePOBbQ8bYdC8Smg,oauth_signature_method=HMAC-SHA1,oauth_timestamp=1502774524,oauth_nonce=175308858,oauth_version=1.0,oauth_token=712057165-iQB4b4Q0hsNmHsAxiW4X5UF5xVB6JmKOPhxnW,oauth_signature=X0GExH5DBVgVv49jkO3LwfX8%3D")
@POST()
@FormUrlEncoded
Call<ResponseBody> followUser(@Url String url, @Field("follow") boolean follow, @Field("screen_name") String screenName, @Field("user_id") String userId);
来自Android的Retrofit API调用中的。这很好用。但是必须为每个登录用户动态生成Auth标头。如何实现?
答案 0 :(得分:0)
您可以在参数列表中使用@Header注释。请查看官方documentation。
将标题替换为其目标值。
@GET("/")
Call<ResponseBody> foo(@Header("Accept-Language") String lang);
标头参数可以为null,这将从请求中省略它们。 传递List或数组将导致每个非null的标头 项目
注意:标题不会互相覆盖。所有标题都相同 名称将包含在请求中。