【问题标题】:Php Flickr authentication to access private photosPhp Flickr 身份验证访问私人照片
【发布时间】:2013-03-20 12:55:29
【问题描述】:

我想使用 Flickr 作为我网站照片的存储库。我们的想法是使用“私人”权限将它们上传到 Flickr,这样任何人都无法在那里看到它们,只能将它们显示在我网站上的公共画廊中。

我收集到我需要身份验证(大概是 Oath)。但我不希望我的网站访问者必须登录或通过某种身份验证过程。我希望它在后台保持静音。

这可行吗?

我正在使用带有 Oauth 插件的(标准)php flickr 类,来自:http://asociaux.fr/post/2012/01/06/Authentification-API-Flickr-Oauth-PHPFlickr

当然,我已经创建了我的 api 密钥/秘密。

虽然我熟悉 php flickr 的标准用法(无需身份验证),但我完全不知道从哪里开始使用这个 auth thingy。

我从第一种方法开始(如上述网站所述):

$f = new phpFlickr($cle_api, $cle_secret_api);  
$f->getRequestToken($callback); 

但问题是,flickr 授予“我”(浏览器用户)访问权限,而不是服务器。这显然不是我想要的?

有人能指点我正确的方向吗?

注意:现在我对这个过程的阅读部分感兴趣(写作部分稍后会出现)。

【问题讨论】:

标签: php oauth-2.0 flickr


【解决方案1】:

使用 phpFlickr 类是可能的。我做了什么来让它与我的私人照片一起工作:

  1. 在公共域 (example.com) 上设置 phpFlickr
  2. 生成 Flickr API 密钥并将身份验证回调指向 auth.php (example.com/phpflickr/auth.php)
  3. 现在,在 getToken.php 上设置参数并在浏览器上运行它。我没有完成这项工作(它没有显示我的令牌),但它会将您重定向到带有 frob 参数的页面。
  4. 转到http://www.flickr.com/services/api/explore/?method=flickr.auth.getToken
  5. 将您刚刚复制的 frob 值(“MORENUMBERS”)粘贴到值框中。
  6. 检查具有完全权限的签名调用。
  7. 在下方,您的令牌应该会弹出。
  8. 复制令牌编号并将其用作脚本中的硬编码参数:

    $conf = array(
      'token' => '[token]',
      'key' => '[key]',
      'secret' => '[secret]'
    );
    require_once("vendor/phpflickr/phpFlickr.php");
    $f = new phpFlickr($conf['key'], $conf['secret']);
    $f->setToken($conf['token']);
    
    //change this to the permissions you will need
    $f->auth("read");
    
    // you can now call all API methods
    

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 2019-10-31
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多