Php Flickr身份验证可访问私人照片

时间:2013-03-20 12:55:29

标签: php oauth-2.0 flickr

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

我收集了我需要身份验证(大概是誓言)。但我不希望我的网站访问者必须登录或经历某种身份验证过程。我希望它在背景中保持沉默。

这可行吗?

我正在使用(标准)php flickr类和Oauth加载项:http://asociaux.fr/post/2012/01/06/Authentification-API-Flickr-Oauth-PHPFlickr

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

虽然我熟悉php flickr的标准使用(没有身份验证),但我完全不知道从哪个开始使用这个版本。

我已经开始使用第一种方法(如上面网站所述):

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

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

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

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

1 个答案:

答案 0 :(得分: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
    
  9. 跳起来有帮助。