0

像许多其他人一样,我一直在杀死试图让 oauth 在 MAMP 上工作的脑细胞。因此,我转而使用我的母语 (python),很快就获得了 Tumblr 的访问令牌和访问令牌秘密。我仍然想在 php 中写一些东西来发布到 tumblr,但我一直在弄清楚我需要发布到的 URL 是什么。

我知道网址是

https://api.tumblr.com/v2/blog/test.tumblr.com/post

我坚持的是我将访问令牌放在 url 中的位置。我的猜测是:

https://api.tumblr.com/v2/blog/test.tumblr.com/post?oauth_token=XXX&oauth_token_secret=XXX&access_token=XXX&access_token_secret=XXX

我已经尝试过这种变化,但似乎没有任何效果。也许这是标题的问题?我绝对需要安装 php oauth 客户端并在上面写一些东西吗?

谢谢你的帮助!

4

1 回答 1

0

简而言之,是的。

您传递的参数在 URL ( HTTP_GET) 中。它们需要在Authorization标题中。

一个典型的HTTP_GET样子:

GET /questions/12451564/url-to-post-to-tumblr?someval=something HTTP/1.1
Host: stackoverflow.com

典型的 OAuth 可能如下所示:

GET /v2/blog/test.tumblr.com/post
Host: api.tumblr.com
Authorization: OAuth realm="Photos",
    oauth_consumer_key="dpf43f3p2l4k3l03",
    oauth_token="nnch734d00sl2jdk",
    oauth_signature_method="HMAC-SHA1",
    oauth_timestamp="137131202",
    oauth_nonce="chapoH",
    oauth_signature="MdpQcU8iPSUjWoN%2FUDMsK2sui9I%3D"

这不是唯一的请求 - 在此请求之前还有初始化临时令牌的调用,因此Tumblr API中给出了端点:

示例部分来自RFC for OAuth - 1.2 示例

于 2012-09-16T23:59:26.887 回答