【发布时间】:2016-08-25 14:57:50
【问题描述】:
我一直试图让它工作大约 6 个小时,但无济于事,请阅读我能找到的关于该主题的每个 stackoverflow 问题。
我正在尝试从单个标签中获取 100、200 或 500 张照片:
func hashtags(hashtag: String, nextMaxTagId: String?) -> RequestParamters {
var params = "/tags/\(hashtag)/media/recent|access_token=\(accessToken)"
var parameters = Dictionary<String, AnyObject>()
parameters["access_token"] = accessToken
let urlString = "https://api.instagram.com/v1/tags/\(hashtag)/media/recent"
if let nextMaxTagId = nextMaxTagId {
params += "|max_tag_id=\(nextMaxTagId)"
parameters["max_tag_id"] = nextMaxTagId
}
let sig = HMAC.signWithKey(C.InstagramClientSecret(), usingData: params)
parameters["sig"] = sig
return (urlString: urlString, parameters: parameters)
}
这是我用来为我的请求构建我的 url 和参数的东西。我的第一个请求没有 nextMaxTagId,该请求通过,返回 20 张图像和一个 pagination json。
然后,当我从分页块中提取 next_max_tag_id 并使用该参数创建请求时,我又得到了 20 张图像,但它们与以前的图像相同,现在我没有得到分页块。
我正确地签署了我的请求(因为我在整个应用程序中的所有其他 API 请求都没有问题)并且我没有处于沙盒模式。
编辑:我也试过使用min_tag_id=\(nextMinTagId),在下一个请求中仍然没有收到分页。
【问题讨论】:
-
您为什么不尝试使用
next_url,因为这似乎是 Instagram 建议的内容“有时您无法获得足够的信息。因此,我们提供了一个方便的在任何顺序数据请求中访问更多数据的方法。只需调用 next_url 参数中的 url,我们将使用下一组数据进行响应。" instagram.com/developer/endpoints -
我这样做
error_message: Invalid signed-request: Signature does not match -
当您使用
next_url时,您的请求是什么样的? -
我使用他们提供的“next_url”
-
你认为你为什么会得到那个错误呢? Instagram只是不喜欢你?我怀疑您的请求格式可能有误。