【问题标题】:Add token to the header of Vimeo API Android将令牌添加到 Vimeo API Android 的标头
【发布时间】:2016-03-15 18:07:09
【问题描述】:

首先,对不起我的英语,谢谢你编辑我的问题。 我需要使用我的管理员帐户来访问我的应用程序上的视频。 所以我必须在标题上发送我的令牌,文档说:

curl -H "授权:承载 OAUTH_TOKEN" https://api.vimeo.com

但我不能在 Java 上做到这一点,这是我的方法:

public Call fetchContent(String uri, CacheControl cacheControl, ModelCallback callback, @Nullable 字符串查询,@Nullable 地图细化地图, @Nullable String fieldFilter)

【问题讨论】:

    标签: android vimeo vimeo-api vimeo-android


    【解决方案1】:

    您可以使用 vimeo-networking 库的 version 1.0.1 来执行此操作。如果您参考READMEsample app 中的新部分,它将介绍如何使用开发者控制台提供的oAuth 令牌(或“访问令牌”)初始化VimeoClient 实例。

    VimeoClient.initialize(new Configuration.Builder(<accessToken>).build());

    您可以交替使用客户端 ID 和客户端密码初始化构建器,然后使用 setAccessToken(<accessToken>) 在构建器上设置访问令牌,如果您还想允许代码授权身份验证。

    在构建器上设置此访问令牌将默认所有请求都使用该令牌。如果您提供了客户端 ID 和客户端密码,那么您的应用程序的用户可以使用代码授权身份验证进行身份验证。这将覆盖您最初提供的“访问令牌”,并且所有未来的请求都将使用他们的令牌。

    完全披露:我是这个库的作者之一。我们还强烈建议将任何问题或功能请求提交here

    【讨论】:

    • 感谢您的回答。我还有一个问题,是否可以通过自定义登录获得令牌?在 api 上存在方法 login(user,pw,callback) 但我总是出错。错误:发生了一些奇怪的事情。请联系应用所有者
    • @pcg26 该登录方法仅适用于具有特定权限的特定应用程序。您可以获得自定义登录的令牌,但您必须通过“代码授权重定向”来完成。 This guide 解释了如何在 Android 上进行操作,this guide 解释了它是如何在 API 上工作的。这个想法是 - 用户将单击登录按钮。它将它们带到网络上。他们登录我们的网站。然后我们将它们引导回您的应用。
    【解决方案2】:

    使用 HttpURLConnection 并在 header 中传递 OAUTH_TOKEN

    String oAuthToken = "your-token";
    HttpURLConnection urlConnection = null;
    URL vimeoURL = new URL("https://api.vimeo.com");
    try {
        urlConnection = (HttpURLConnection) vimeoURL.openConnection();
        // set authentication
        String auth = "Bearer " + oAuthToken;
        urlConnection.setRequestProperty("Authorization", auth.trim());
        // set request method
        urlConnection.setRequestMethod("GET");
        if (urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
             // do something
        }
      } catch (Exception e) {// append e
            // do something
      } finally {
          if (urlConnection != null) {// close connection
             urlConnection.disconnect();
         }
      }    
    

    【讨论】:

    • 感谢您的回答,是的,您的代码有效,但我需要使用 api 请求来缓存和序列化响应。我试过凌空,但我无法缓存它。也许是标题,idk。
    • ohok 我以为您想知道如何在标头中发送 OAUTH-Token。查看github.com/vimeo/vimeo-networking-java/blob/dev/…
    • 是的,我需要在标头中发送一个令牌!但使用 vimeo api 网络。也许创建一个用户?
    • 是的,您必须创建一个用户才能获取令牌。 OAUTH-TOKEN 将用于用户。它用于身份验证。
    • 是的,我知道,但我在 vimeo 网上创建了一个令牌。然后我需要使用该令牌来获取所有私人视频。仅针对此查询,然后我想使用用户令牌。你了解我吗? :D
    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 2021-02-19
    • 1970-01-01
    • 2018-06-15
    • 2021-12-27
    相关资源
    最近更新 更多