以获取与某个查询匹配的结果。
我正在使用Zapier.我用的是Code step,它可以采用javascript的python。
我现在有python代码来调用API,如下所示…
headers = {
'Content-Type': 'text/plain',
'Ocp-Apim-Subscription-Key': 'my_api_key'
}
r = requests.get('https://api.cognitive.microsoft.com/bing/v7.0/news/search?q=%22Donald%20Trump%22&textDecorations=true&textFormat=HTML&sortBy=Date&freshness=Day', headers=headers)
output = [{'assets': r.json()}]
这个很好用。它成功地调用并获得结果。
问题是,当我想在随后的zapier步骤中使用这些结果的内容时,它们都混合在同一个响应对象中——也就是说,来自多个返回的内部层对象的每个等效值都放置在相同的可用zapier值中。,用逗号分隔。
示例:对于对象中返回的10个故事,可用的“category”值为“null、null、null、world、null、politics、politics、politics、null、null”,但对于一个故事,它应该仅是其中之一。

换句话说,我如何个性化资产/对象,以便让Zapier单独处理它们是吗?
我想说的是,这不仅仅是分析价值观,而是以一种Zapier能够理解的方式进行分析。不过,我以前用另一种语言做过一次……
举例来说,对于这个相同的原则,我有一个单独的zap用于另一个目的,它做了类似的事情。它接收传入的gmail电子邮件并检查正文(inputdata.body)中是否有与特定模式匹配的字符串。可能有多个这样的字符串。对于其中的每一个,下面的javascript将分别传递倍数他们中的一个单独到下一个扎皮尔台阶。
var matches = inputData.body.match(/\b[\w-]{32}\b/g)
if (matches == null) {
return { str: "false" }
}
return matches.map(function (m) { return {str: m} })
这神奇地允许我随后的zap步骤只针对单个字符串,而不是一组多个字符串。如何在上面的API代码中实现类似的效果?
每个代码示例的最后一行似乎保存着密钥…在javascript中,映射一些东西…是吗?
以下是每个请求的响应示例…
{
"_type": "News",
"readLink": "https://api.cognitive.microsoft.com/api/v7/news/search?q=%22Donald+Trump%22",
"queryContext": {
"originalQuery": "\"Donald Trump\"",
"adultIntent": false
},
"totalEstimatedMatches": 73200,
"sort": [
{
"name": "Best match",
"id": "relevance",
"isSelected": false,
"url": "https://api.cognitive.microsoft.com/api/v7/news/search?q=%22Donald+Trump%22"
},
{
"name": "Most recent",
"id": "date",
"isSelected": true,
"url": "https://api.cognitive.microsoft.com/api/v7/news/search?q=%22Donald+Trump%22&sortby=date"
}
],
"value": [
{
"name": "Democrats to <b>Donald Trump</b>: Here's a Bill to Outlaw Family Separation",
"url": "https://www.rollingstone.com/politics/news/democrats-give-trump-a-bill-to-outlaw-family-separation-w521650",
"image": {
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.E5F488C11B8B2C7578200936C34BA0C3&pid=News",
"width": 700,
"height": 394
}
},
"description": "All 49 Democrats in the Senate have signed on to a bill that would end Trump's policy of "child-snatching" A two-year-old Honduran asylum seeker cries as her mother is searched and detained near the U.S.-Mexico border on June 12th, 2018 in McAllen, Texas.",
"about": [
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/1a466af2-ed23-25bd-794d-1ca925e4681b",
"name": "Donald Trump"
},
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/5e00ddc3-bb67-a2c7-702a-929095be2f19",
"name": "Bill"
}
],
"provider": [
{
"_type": "Organization",
"name": "Rolling Stone"
}
],
"datePublished": "2018-06-19T09:39:00.0000000Z",
"category": "Politics"
},
{
"name": "Republicans break from Trump on migrant family separation",
"url": "https://www.nbcnews.com/politics/first-read/republicans-break-trump-migrant-family-separation-n884171",
"image": {
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.7225F1783FD189C842151F29E579409A&pid=News",
"width": 700,
"height": 367
}
},
"description": "WASHINGTON â The lowest points of <b>Donald Trump</b>âs presidency have tended to occur when a sizable portion of his own party has criticized him for his actions, policies and statements (even when the GOP doesnât necessarily act on that criticism).",
"about": [
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/1a466af2-ed23-25bd-794d-1ca925e4681b",
"name": "Donald Trump"
}
],
"provider": [
{
"_type": "Organization",
"name": "NBC News"
}
],
"datePublished": "2018-06-19T09:38:00.0000000Z",
"category": "Politics"
},
{
"name": "Anger mounts against Trump over child separation policy",
"url": "https://www.aljazeera.com/news/2018/06/anger-mounts-trump-child-separation-policy-180618071221478.html",
"image": {
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.B6724EE606A4241FC8E9441331E20A67&pid=News",
"width": 700,
"height": 392
}
},
"description": "Pressure is mounting on US President <b>Donald Trump</b> to reverse his policy of separating children from refugees and migrants who cross the US-Mexico border. "Families belong together," protesters chanted on Sunday, as hundreds gathered outside detention ...",
"about": [
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/1a466af2-ed23-25bd-794d-1ca925e4681b",
"name": "Donald Trump"
}
],
"provider": [
{
"_type": "Organization",
"name": "Al Jazeera English"
}
],
"datePublished": "2018-06-19T09:38:00.0000000Z",
"category": "Politics"
},
{
"name": "President Trump Defends Immigration Policy, Says He Won't Let U.S. Became a 'Migrant Camp'",
"url": "https://www.msn.com/en-us/news/other/president-trump-defends-immigration-policy-says-he-wont-let-us-became-a-migrant-camp/ar-AAyOCt4",
"image": {
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.303D80992671B38688C86FEFC0F5F4B2&pid=News",
"width": 700,
"height": 498
}
},
"description": "WASHINGTON â Facing rising outrage from some Republicans as well as Democrats over the forced separation of migrant children and parents at the U.S.-Mexico border, President <b>Donald Trump</b> dug in Monday, again falsely blaming Democrats and declaring he ...",
"about": [
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/1a466af2-ed23-25bd-794d-1ca925e4681b",
"name": "Donald Trump"
}
],
"mentions": [
{
"name": "Donald Trump"
},
{
"name": "United States"
},
{
"name": "Migrant worker"
}
],
"provider": [
{
"_type": "Organization",
"name": "Time"
}
],
"datePublished": "2018-06-19T09:36:00.0000000Z",
"category": "Politics"
},
{
"name": "Watch: <b>Donald Trump</b> awkwardly salutes a North Korean general at Singapore summit",
"url": "https://scroll.in/video/882762/watch-donald-trump-awkwardly-salutes-a-north-korean-general-at-singapore-summit",
"image": {
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.D99B1336CDD2C22BFBD080E78C100052&pid=News",
"width": 600,
"height": 315
}
},
"description": "The North Korean state media aired a documentary on the recent Singapore summit, showing the meeting between Kim Jong Un and <b>Donald Trump</b>. Naturally, it wasnât what the world had seen till then. While the 42-minute long KCTV documentary showed the entire ...",
"about": [
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/1a466af2-ed23-25bd-794d-1ca925e4681b",
"name": "Donald Trump"
},
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/f5ffb882-7230-f3fe-7141-cde5f4b5ed1a",
"name": "Singapore"
},
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/f28f12db-bc21-69f9-3860-1b24810b64ec",
"name": "Salute"
}
],
"provider": [
{
"_type": "Organization",
"name": "Scroll"
}
],
"datePublished": "2018-06-19T09:35:00.0000000Z",
"category": "World"
},
{
"name": "China accuses US of blackmailing after <b>Donald Trump</b>'s tariff threat",
"url": "http://www.newindianexpress.com/world/2018/jun/19/china-accuses-us-of-blackmailing-after-donald-trumps-tariff-threat-1830391.html",
"image": {
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.6A02D23B98FB3695CB79863006E25D86&pid=News",
"width": 600,
"height": 300
}
},
"description": "BEIJING: China today accused the US of "blackmailing" by threatening to slap additional tariffs on USD 200 billion of Chinese goods and warned that it would hit back with comprehensive measures if Washington went ahead with the plan. China's response came ...",
"about": [
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/1a466af2-ed23-25bd-794d-1ca925e4681b",
"name": "Donald Trump"
},
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/5fcc3d97-0cf2-94e5-6dad-cd70e387bd69",
"name": "China"
}
],
"provider": [
{
"_type": "Organization",
"name": "The New Indian Express"
}
],
"datePublished": "2018-06-19T09:35:00.0000000Z",
"category": "Business"
},
{
"name": "Family unity must be preserved: UN Chief Antonio Guterres on <b>Donald Trump</b>'s zero-tolerance immigration policy",
"url": "http://www.newindianexpress.com/world/2018/jun/19/family-unity-must-be-preserved-un-chief-antonio-guterres-on-donald-trumps-zero-tolerance-immigrati-1830399.html",
"description": "UNITED NATIONS: Children must not be traumatised by being separated from their parents, UN chief Antonio Guterres has said amid a growing backlash over US President <b>Donald Trump</b>'s hardline immigration policy which has resulted in the separation of hundreds ...",
"about": [
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/1a466af2-ed23-25bd-794d-1ca925e4681b",
"name": "Donald Trump"
},
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/cba2f3bb-4714-89f7-8cd3-9cc8644da24b",
"name": "Zero tolerance"
}
],
"provider": [
{
"_type": "Organization",
"name": "The New Indian Express"
}
],
"datePublished": "2018-06-19T09:35:00.0000000Z"
},
{
"name": "<b>Donald Trump</b> has ordered the Pentagon to create the US Space Force",
"url": "https://www.technologyreview.com/the-download/611499/donald-trump-has-ordered-the-pentagon-to-create-the-us-space-force/",
"image": {
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.D9DA1E8B8E5DA38E7C6F5D6F5D3FD23C&pid=News",
"width": 700,
"height": 393
}
},
"description": "The Space Force would constitute the sixth branch of the US armed forces. The news: During a meeting with the National Space Council today, President <b>Donald Trump</b> directed the Department of Defense and the Pentagon to begin work on the creation of the ...",
"about": [
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/1a466af2-ed23-25bd-794d-1ca925e4681b",
"name": "Donald Trump"
},
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/f8e3b5fa-8d72-5bd7-c9c1-24ef1caf555a",
"name": "The Pentagon"
}
],
"provider": [
{
"_type": "Organization",
"name": "MIT Technology Review"
}
],
"datePublished": "2018-06-19T09:32:00.0000000Z"
},
{
"name": "Melania Trump âHates To Seeâ Children Separated From Their Families At Borders",
"url": "http://miami.cbslocal.com/2018/06/17/melania-trump-hates-children-separated-families/",
"image": {
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.E7697BA498AEE34B1399416F5C5B00DF&pid=News",
"width": 700,
"height": 466
}
},
"description": "President <b>Donald Trump</b> has repeatedly blamed the Democrats for the situation despite his administration instituting the policy change. âDemocrats can fix their forced family breakup at the Border by working with Republicans on new legislation ...",
"about": [
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/6f7c7020-66da-2934-a3bb-190380654848",
"name": "Melania Trump"
}
],
"mentions": [
{
"name": "Melania Trump"
},
{
"name": "WFOR-TV"
},
{
"name": "Child"
}
],
"provider": [
{
"_type": "Organization",
"name": "CBS Miami"
}
],
"datePublished": "2018-06-19T09:32:00.0000000Z",
"category": "Politics"
},
{
"name": "Prince Harry said 'give <b>Donald Trump</b> a chance,' says Meghan Markle's father",
"url": "https://www.stuff.co.nz/life-style/104818877/Prince-Harry-said-give-Donald-Trump-a-chance-says-Meghan-Markles-father",
"image": {
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.A5CE69ACF78448306EA41B1A47CCD62E&pid=News",
"width": 620,
"height": 349
}
},
"description": "Meghan Markle's father said that Prince Harry told him to give <b>Donald Trump</b> a chance and suggested that he was open about Britain's withdrawal from the European Union. In a lengthy interview with the British broadcaster ITV, Thomas Markle said Harry was an ...",
"about": [
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/1a466af2-ed23-25bd-794d-1ca925e4681b",
"name": "Donald Trump"
},
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/ae7736c2-4291-bc85-8732-6d20c29ff943",
"name": "Prince Harry"
},
{
"readLink": "https://api.cognitive.microsoft.com/api/v7/entities/e4308957-a185-03fa-10ed-3c7b47fd0aea",
"name": "Meghan Markle"
}
],
"provider": [
{
"_type": "Organization",
"name": "Stuff.co.nz"
}
],
"datePublished": "2018-06-19T09:31:00.0000000Z"
}
]
}