使用 Twitter API 实现 Rest API 分页规则

发布于 2025-01-11 11:17:20 字数 963 浏览 0 评论 0原文

我正在尝试使用 Microsoft Azure 数据工厂获取 json 文件中的推文数据。我创建了一个复制数据活动,它将获取推文 API 的 URL 和所需参数(这些参数包含在数据集定义中,并带有代表我正在查找的关键字的参数)作为源,以及一个 json文件数据集作为接收器。

这工作得很好,该文件是使用其余 API 响应创建的。 现在我想处理 Twitter 的分页规则,因为我将获得比一次响应中包含的推文数量更多的信息。 twitter 处理此问题的方法是在 API 响应中包含一个“meta”元素,其中包含各种信息,特别是一个“next_token”元素,其中包含要添加到必须提交的下一个 get 查询中的参数的值,直到响应中缺少 next_token 元素。

所以:首先获取示例:

tweets/search/recent?query=textToSearch&max_results=100

您在响应中收到

"meta": {
     "next_token": "MyNextToken"
   }

所以第二个获取应该是:

tweets/search/recent?query=textToSearch&max_results=100&pagination_token=MyNextToken

我已经检查了分页规则的帮助,但可以'我不太清楚该怎么做,我已经看到了带有完整 URL 的示例,但没有看到带有新参数的示例,该新参数未包含在第一个 get 查询中。我猜您必须创建一个包含新参数的变量,但我不知道如何将变量添加到 URL。

我已经尝试过,但它不起作用,我只在 json 文件中收到第一个响应,而不是其他页面: pagination_rule

预先感谢您提供有关如何实现该功能的任何提示!

I'm trying to get tweets data in a json file with Microsoft Azure Data Factory. I've created a copy data activity which takes the URL for the get tweets API with the needed parameters (those parameters are included in the dataset definition with a parameter that represents the keyword I'm looking for) as the source, and a json file dataset as a sink.

This works pretty well, the file is created with the rest API response.
Now I want to handle the pagination rule for Twitter as I will get more that the number of tweets contained in one response.
The twitter way to handle this is to have a "meta" element in the API response containing various information and particularly a "next_token" element containing the value to add to a parameter in the next get query that has to be submitted, up until the next_token element is absent from the response.

so : first get example :

tweets/search/recent?query=textToSearch&max_results=100

You receive in the response

"meta": {
     "next_token": "MyNextToken"
   }

So the 2nd get should be:

tweets/search/recent?query=textToSearch&max_results=100&pagination_token=MyNextToken

I've checked the help for pagination rule but can't quite figured out what to do with that, I've seen examples with the complete URL but not with a new parameter which is not included in the first get query. I'm guessing you'll have to create a variable which will contain the new parameter but I don't know how to add the variable to the URL.

I've tried this but it did not work, I've only gotten the first response in my json file and not the other pages:
pagination_rule

Thanks in advance for any tips on how to implement that!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌面超妹 2025-01-18 11:17:20

因此,经过几次尝试和研究,目前在数据工厂中似乎不可能以这种方式使用分页规则。
我找到的解决方案是使用“until”活动手动实现分页,其中 URL 是包含 next_token 值的变量字符串,当结果中没有 next_token 值时循环结束。

So, after a few tries and some research, it doesn't seem possible for the moment in Data Factory to use the pagination rules in that way.
The solution I found is to implement the pagination manually using a "until" activity where the URL is a variable string containing the next_token value and the loop finishes when there is no next_token value in the result.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文