目前通过调用face book的 /act_{ad_account_id}/ads接口获取到广告账号下面的广告,返回的广告数量有几千条但是大部分是没有用的。
用这几千条广告都去调用一次广告详情接口的话又会出现访问次数过多的限制所以想在获取广告ID时就过滤掉数据。想知道怎么过滤出存在点击次数的广告。
代码调用的接口:https://graph.facebook.com/v17.0/act_%7Bad_account_id%7D/ads?fields=id,name,status,creative{image_url},adset{end_time,updated_time},updated_time,effective_status&filtering=[{%27field%27:%27adset.updated_time%27,%27operator%27:%27GREATER_THAN%27,%27value%27:%272023-09-21%27}]&level=campaign&access_token=
目前只通过updatetime过滤了一次数据。想知道有没有更好的办法
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

Facebook 获取广告
- ¥15
收起
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
当前问题酬金
¥ 15 (您已提供 ¥ 20, 还可追加 ¥ 485)
支付方式
扫码支付
10条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
专家-赤兔[在线] 2023-09-22 15:16关注获得0.75元问题酬金 引用 皆我百晓生 小程序回应内容作答:
根据你提供的信息,目前你已经通过 "updatetime" 进行了一次数据过滤,但是想知道是否有更好的方法来过滤具有点击次数的广告。对于这个问题,你可以尝试以下方法来过滤具有点击次数的广告:
使用 Facebook Ads Insights API:通过调用 Facebook Ads Insights API,你可以获取到广告的更详细的指标数据,包括点击次数。你可以调用
/act_{ad_account_id}/insights
接口,并在返回的数据中查找点击次数指标(例如,clicks
)。根据点击次数的值,来确定广告是否有点击次数,从而进行过滤。设置其他过滤条件:除了 "updatetime" 外,你可以根据其他指标或过滤条件进行进一步的过滤,以筛选出具有点击次数的广告。例如,你可以考虑添加过滤条件来筛选出有点击行为的广告,如
impressions > 0
或clicks > 0
。筛选有效广告状态:根据你的需求,你可以通过设置
effective_status
的过滤条件来只获取处于有效状态的广告。有效状态包括广告投放中的状态,如 "ACTIVE"、"RUNNING" 等,这些广告可能更有可能有点击次数。
通过使用以上方法之一或组合,你可以更有效地过滤出具有点击次数的广告。请根据实际需求选择适合的方法来处理数据。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用 1举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
Leodong. 2023-09-22 16:19关注获得0.60元问题酬金 该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
根据您的描述,您想要过滤出存在点击次数的广告,以减少调用广告详情接口的次数。除了使用更新时间(updated_time
)进行过滤之外,您还可以使用Facebook广告的统计数据来判断是否存在点击次数。以下是一个可能的解决方案:- 在获取广告列表时,通过添加
insights
字段来获取广告的统计数据,包括点击次数。 - 对于每个广告,检查其统计数据中的点击次数。如果点击次数大于零,则表示该广告存在点击次数。
- 只保留存在点击次数的广告,过滤掉没有点击的广告。
下面是修改后的代码示例:
const axios = require('axios'); async function getAds(adAccountId, accessToken) { const apiUrl = `https://graph.facebook.com/v17.0/act_${adAccountId}/ads`; const fields = 'id,name,status,creative{image_url},adset{end_time,updated_time},updated_time,effective_status'; const filtering = `[{'field':'adset.updated_time','operator':'GREATER_THAN','value':'2023-09-21'}]`; const level = 'campaign'; try { const response = await axios.get(apiUrl, { params: { fields, filtering, level, access_token: accessToken } }); const ads = response.data.data; const filteredAds = []; for (const ad of ads) { const insightsUrl = `https://graph.facebook.com/v17.0/${ad.id}/insights`; const insightsResponse = await axios.get(insightsUrl, { params: { fields: 'clicks', access_token: accessToken } }); const insights = insightsResponse.data.data; if (insights.length > 0 && insights[0].clicks > 0) { filteredAds.push(ad); } } return filteredAds; } catch (error) { console.error('Error retrieving ads:', error); return []; } } // 示例用法 const adAccountId = '{ad_account_id}'; const accessToken = 'YOUR_ACCESS_TOKEN'; getAds(adAccountId, accessToken) .then(filteredAds => { console.log('Filtered Ads:', filteredAds); }) .catch(error => { console.error('Error:', error); });
请替换
{ad_account_id}
为您的广告账号ID,并将YOUR_ACCESS_TOKEN
替换为您的访问令牌。这段代码会获取广告列表,并对每个广告调用广告统计数据接口以获取点击次数。只有点击次数大于零的广告才会被保留下来并存储在filteredAds
数组中。请注意,由于Facebook的API和限制可能会有变化,上述代码仅供参考,并可能需要根据实际情况进行调整。您可能需要查阅Facebook的开发文档以获取最新的API信息和限制。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
小明说Java 2023-09-22 16:30关注获得0.45元问题酬金 建议去官网看看,有技术文档的
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
数据大魔王 2023-09-22 18:48关注获得0.90元问题酬金 使用 /act_{ad_account_id}/insights 接口:使用此接口可以检索广告的性能数据,包括点击次数。您可以指定查询的时间范围和所需的性能指标。
设置查询条件:在查询时,设置筛选条件,以仅检索具有点击次数的广告。例如,您可以使用 action_type 字段来筛选出点击次数大于零的广告。
以下是一个示例查询:
https://graph.facebook.com/v17.0/act_{ad_account_id}/insights ?fields=ad_id,ad_name,clicks &time_range={"since":"2023-09-01","until":"2023-09-21"} &filtering=[{"field":"action_type","operator":"IN","value":["link_click"]}] &access_token=your_access_token
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
呈两面包夹芝士 2023-09-22 20:04关注获得0.45元问题酬金 引自GPT
你可以在获取到广告ID后,通过调用广告详情接口来获取广告的详细信息,然后根据返回的数据中点击次数(如果存在的话)来判断是否需要过滤掉这个广告ID。具体步骤如下:
首先,你需要修改你的请求URL,将
fields
参数改为id,name,status,creative{image_url},adset{end_time,updated_time},updated_time,effective_status,clicks
,这样你就可以获取到广告的点击次数。然后,你可以发送一个GET请求到
https://graph.facebook.com/v17.0/act_%7Bad_account_id%7D/ads/{ad_id}
,其中{ad_id}
是你从上一步获取到的广告ID。如果返回的数据中包含
clicks
字段,并且其值大于0,那么你就保留这个广告ID,否则就过滤掉它。
以下是修改后的代码:
import requests # 获取广告ID response = requests.get(f"https://graph.facebook.com/v17.0/act_{ad_account_id}/ads?fields=id,name,status,creative{image_url},adset{end_time,updated_time},updated_time,effective_status,clicks&filtering=[{%27field%27:%27adset.updated_time%27,%27operator%27:%27GREATER_THAN%27,%27value%27:%272023-09-21%27}]&level=campaign&access_token={access_token}") ads = response.json() # 过滤广告ID valid_ads = [] for ad in ads['data']: ad_id = ad['id'] response = requests.get(f"https://graph.facebook.com/v17.0/act_{ad_account_id}/ads/{ad_id}") data = response.json() if 'clicks' in data and data['clicks'] > 0: valid_ads.append(ad_id) print(valid_ads)
注意:这种方法可能会导致你的API调用次数过多,因此你可能需要考虑使用分页或者其他方法来减少API调用次数。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
心梓知识 2023-09-23 02:40关注获得0.60元问题酬金 结合GPT给出回答如下请题主参考
首先,需要获取访问令牌,并获取广告账户的 ID。import requests import json ACCESS_TOKEN = 'your_access_token' AD_ACCOUNT_ID = 'your_ad_account_id' # 获取广告账户下的所有广告 url = 'https://graph.facebook.com/v11.0/act_{}/ads'.format(AD_ACCOUNT_ID) params = {'access_token': ACCESS_TOKEN} response = requests.get(url, params=params) ads = json.loads(response.content)['data'] # 用于存储有用的广告 useful_ads = []
接下来,循环遍历所有的广告,调用广告详情接口,并提取需要的信息。
for ad in ads: ad_id = ad['id'] # 调用广告详情接口 ad_url = 'https://graph.facebook.com/v11.0/{}/'.format(ad_id) ad_params = {'access_token': ACCESS_TOKEN, 'fields': 'id,name,adset_id,creative'} ad_response = requests.get(ad_url, params=ad_params) ad_data = json.loads(ad_response.content) # 判断是否有用的广告 if 'creative' in ad_data: useful_ads.append(ad_data) # 打印有用的广告 print(useful_ads)
在上述代码中,我们通过循环遍历所有广告,并调用广告详情接口获取广告的详细信息。在获取的广告信息中,判断是否有创意信息(creative),如果有,则将该广告存储到 useful_ads 列表中。最后,打印出 useful_ads 列表中的广告信息。
需要注意的是,Facebook 广告 API 变化较快,以上代码仅供参考。可能需要根据实际情况进行调整。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
yy64ll826 2023-09-26 15:24关注获得0.45元问题酬金 本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
关注
获得1.20元问题酬金 该回答引用ChatGPT,希望对题主有所帮助,如有帮助,还望采纳。
想要过滤出存在点击次数的广告,可以在请求接口时通过添加一个过滤条件来实现。
可以使用字段"insights"来获取广告的统计数据,而点击次数对应的是"clicks"字段。因此,可以添加一个过滤条件,只保留点击次数大于0的广告。具体的过滤条件可以通过在请求接口时添加一个过滤参数完成,如下所示:
&filtering=[{'field':'insights.clicks','operator':'GREATER_THAN','value':'0'}]
该过滤条件将只保留具有点击次数的广告。
完整请求代码如下:
使用上述请求代码,将只返回具有点击次数的广告。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
GIS工具开发 2023-09-29 01:06关注获得0.60元问题酬金 通过返回结果里面的点击次数字段来判断过滤
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
会跑的小鹿 2023-09-29 01:47关注获得0.30元问题酬金 用多个账号轮回使用撒
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
报告相同问题?
- 2018-11-19 11:27回答 1 已采纳 You should implement pagination (or request a limit more high). With the PHP SDK you can implement
- 2017-03-09 17:29回答 1 已采纳 Solution was to add an extra parameter: 'time_range' => "{'since':'2015-01-01', 'until':'2020-
- 2017-03-26 08:37回答 1 已采纳 You need to use an Access Token: $pictureObj = file_get_contents('https://graph.facebook.com/' .
- 2017-04-05 00:06毛毛哥PM的博客 过去十几年,互联网的发展经历了三个阶段:第一阶段为Web1.0,此阶段的主要特征是以信息为中心,信息是单向的,用户被动接受,此阶段最典型的应用则是门户,搜索的出现提高了用户获取信息的效率和效果,是该阶段最...
- 2014-12-14 20:13回答 3 已采纳 Make an API call to /me/home or /user_id/home where user_id is the current session user. You are
- 2016-02-19 17:27回答 1 已采纳 Yes, of course it is slow if you fire a number of API requests inside a loop. (The most slowing pa
- 2014-06-04 14:05回答 1 已采纳 Not sure whether I understood you correctly, but if you want to query for more fields and connecti
- 2021-08-05 10:55v13076927178的博客 1.Facebook介绍 用户庞大:Facebook月活跃用户为23亿,其中月活跃用户占15亿 集中于移动端:94% 以上...这意味着,Facebook 会不间断地在各广告组中自动寻找实现成效的最佳机会,并实时分配广告系列预算。这就好比我们
- 2013-04-10 11:04回答 1 已采纳 According to Album documentation you need user_photos permission. So you should ask for that when
- 2016-04-05 13:07回答 1 已采纳 Create new object like this and set access_token if not exists: $fb = new Facebook([
- 2015-11-25 05:32回答 1 已采纳 As an app admin/developer/tester you can experiment with permissions without the need of submittin
- 2020-09-09 17:02「已注销」的博客 2020年1月,我发表了一篇名为《15分钟内破解Facebook广告》的文章,分享了2012至2019年我就职于Facebook7年间的工作方法与案例。 我最初写这篇文章其实是为了避免谈广告,因为各种朋友和创始人都找我咨询,最好能...
- 2015-09-14 04:34回答 2 已采纳 As per the Facebook documentation, you need to pass the short-lived access-token with app secret a
- 2018-07-13 00:06love_hot_girl的博客 Facebook广告政策http://www.skytech.cn/article/2355.htmlGoogle Admob 和 Facebook广告政策发布时间:2017-07-09 10:35:00 发布者:小擎 文章来源: 网络Facebook和Admob已经成为做海外变现的必备平台,...
- 2023-10-27 21:53程序员青菜学厨艺的博客 我总不能让老板登录Facebook广告投放平台上去看广告效果,其实老板只关注每天花了多少钱引来了多少客户,每个客户平均花费多少钱,其它的他才不关心,有Facebook开放平台我们就可以通过API直接获取广告效果的数据,...
- 没有解决我的问题, 去提问
悬赏问题
- ¥15 shopify网站提速
- ¥15 深海控制器DSE7320MKII和博世ECU间can通讯知识
- ¥15 Ru的复折射率用于FDTD 200nm到1200nm
- ¥15 使用Fiddler抓包,textview的乱码如何解决
- ¥50 trio连接驱动器报错
- ¥15 有谁懂nhanes的权重计算啊
- ¥15 欧姆龙PLC 电机控制 限位
- ¥30 如何处理shell命令接收到的视频流并实时播放出来
- ¥15 虚心请教C#的代码优化问题
- ¥15 有偿求做台风过境全过程模拟仿真