2012-08-27 192 views
6

这是从VIMEO论坛上转贴,但因为没有人回答那边,我在这里尽我的运气:获取的私人视频的视频缩略图在Vimeo

我一直在尝试了一段时间,现在让我围绕整个oAuth的事情,但我似乎并没有得到它的工作。我想使用advanced vimeo api检索私人视频的缩略图。这就是我现在所拥有的:

$vimeo = new phpVimeo($consumer_key, $consumer_secret, $access_token, $access_token_secret); 
$result = $vimeo->call('vimeo.videos.getThumbnailUrls', array('video_id ' => $video_id)); 

当我尝试像这样,我不断收到错误

"Fatal error: Uncaught exception 'VimeoAPIException' with message 'Invalid signature' ". 

我绝对肯定的是,密钥和秘密是正确的。我需要做更多才能使这件事情起作用吗?当然,举个例子,我只需要把所有的关键数据都放入其中就行了。

在此先感谢!

回答

1

有几种方法可以帮助解决您的签名错误。首先,我想解释一些术语。

  • Api Endpoint - 您请求的api网址。
  • 客户端ID /客户端秘密 - 一双给你的令牌当你创建API应用程序
  • 请求令牌 - 而授权用户生成的令牌。此令牌不能用于进行api调用。
  • OAuth令牌/令牌密钥 - 一双给你,当你通过你的授权流程
  • 基本字符串发送用户令牌 - 包含所有与您的API请求的信息的专门格式的字符串。
  • OAuth签名 - 一个哈希标记,表示您正在创建的请求。这是使用基本字符串,您的客户端ID和密码以及可选的oauth令牌和秘密生成的。

故障排除

  1. 尝试使用最新版本的官方PHP库:https://github.com/vimeo/vimeo-php-lib
    • 如果这个工作,你的代码有问题。继续执行步骤2.
    • 如果这不起作用,请让Vimeo知道。您不需要继续这些步骤。
  2. 使用Hueniverse交互式指南:http://hueniverse.com/oauth/guide/authentication/
    • 发出请求,并记录每一个URL,标题和参数。还包括基本字符串。
    • 点击所有加号以展开输入表格,然后填写所有相应的数据。
  3. 确保Hueniverse基本字符串匹配自己生成的基本字符串
    • 如果匹配,并且签名仍然不正确,你很可能不正确地执行HMAC签名。检查所有的令牌,随时联系Vimeo。
    • 如果基础线不匹配,请确保您有以下规范:http://tools.ietf.org/html/rfc5849#section-3.4.1
  4. 如果一切都失败了,你最好的选择是直接联系的Vimeo。他们可以查找您的身份验证令牌和预期的签名。