Imgur,获取用户';使用PHP和OAuth创建相册

Imgur,获取用户';使用PHP和OAuth创建相册,php,oauth,imgur,Php,Oauth,Imgur,我正在尝试列出中单个用户的相册。据我在API中读到的,关于相册的信息只能使用获取,这是一个非常奇怪的决定,因为你可以使用匿名API上传图像和消息,但不能获取相册列表之类的公共信息 无论如何,看起来像是auth API使用的。我一直在想办法让它发挥作用,但运气不好。原因之一是我的主机不提供官方PHP的oauth扩展,所以我需要一个外部库 你有没有使用imgur和oauth的例子 有几个很好的纯PHP OAuth选项值得一提。为了理解它们的好的部分和坏的部分,理解OAuth是如何工作的将是非常困难的

我正在尝试列出中单个用户的相册。据我在API中读到的,关于相册的信息只能使用获取,这是一个非常奇怪的决定,因为你可以使用匿名API上传图像和消息,但不能获取相册列表之类的公共信息

无论如何,看起来像是auth API使用的。我一直在想办法让它发挥作用,但运气不好。原因之一是我的主机不提供官方PHP的oauth扩展,所以我需要一个外部库


你有没有使用imgur和oauth的例子

有几个很好的纯PHP OAuth选项值得一提。为了理解它们的好的部分和坏的部分,理解OAuth是如何工作的将是非常困难的。让我们回顾一下

在本例中,提供者是Imgur,使用者是代码,用户是用户

  • 提供者向使用者颁发使用者密钥和使用者机密
  • 用户向消费者发出请求
  • 使用者向提供者请求请求令牌和请求密码。它们通常存储在用户的会话中
  • 使用者使用请求令牌将用户重定向到提供者。网络上的大多数示例现在将用户的会话状态设置为“1”
  • 用户授权消费者与提供商进行访问
  • 提供者使用(另一个?)请求令牌将用户发送回消费者
  • 使用者将返回的请求令牌和先前发送的请求密钥发送给提供者
  • 提供程序返回访问令牌和访问密钥。它们通常存储在用户的会话中,但它们可能是持久的,可能需要更好的长期存储位置
  • 从使用者到提供者的进一步请求需要使用者密钥、使用者机密、访问令牌和访问机密
  • 当我们点击第9步时,代码中的OAuth对象拥有执行请求所需的所有内容。关键的部分是OAuth对象必须自己处理API请求,以便能够正确地对通过线路发送的数据进行签名

    有两个好的选择供你选择,有些不太好。让我们回顾一下好的方面:

    首先是,它用作底层HTTP库。虽然工作正常,但HTTP_OAuth_Consumer_请求充当到请求对象的网关,但并不从中继承。这意味着您不能像对HTTP_请求2所做的那样对它做所有的事情。这可能很烦人

    其次,还有一个,它用作底层HTTP库。虽然它是更大的Zend框架的一部分,但这两个组件在很大程度上是独立的,并且与其他框架配合良好。。。或者没有框架。与PEAR库不同,Zend_Oauth_Consumer实际上返回一个从Zend_Http_客户端派生的类。这并不是说它做不到这是它自己奇怪的事情。它不要求您在会话中隐藏令牌和机密,而是希望您序列化包含令牌和机密的状态令牌对象。它完成了任务,但很奇怪

    忽略这些缺点,这两个都是不错的选择。它们都是在开放源码许可下发布的,所以将它们与代码捆绑在一起不会有问题*

    在不太好的类别中,有。我不在乎和图书馆一起工作,太多分心的事情和让我恼火的小事。还有。虽然它使用CURL,但不可能从中取出CURL句柄来发出您自己的理智请求。您还提到,您没有安装它,这就是为什么它属于不太好的类别

    至于与Imgur的接口。。。这只是简单的香草JSON。抛开PHP的原生
    json_encode
    json_decode
    ,您就不会有任何问题了。这真是太好了

    *我不是律师,你可能想咨询律师。
    (这个答案的一部分是从我开始编写的一个不完整的Imgur API库中逐字复制而来的。不幸的是,我没有实现任何关于相册的内容,否则我只能链接它。一旦它完成了我需要它做的事情,我就停止了。对不起。)

    我不知道Imgur。 但是一些关于oauth api和代码的好链接。。 oauth对所有服务的工作方式几乎相同


    由于我的声誉不到10个,我只能发布2个超链接

    谢谢,但我已经尝试开发我自己的解决方案,这些链接是最先到达的。我实际上是在寻找一个“预先制作”的解决方案,因为到目前为止,我还不能让任何东西工作(顺便说一句,我只尝试了oauth php)。如果没有人想出任何其他的东西,我会给你赏金。你非常欢迎在和/或fork之上构建,只是要知道这是非常糟糕的代码。至少,oauth位本身可能对您有用。