php - 使用 api 函数生成报告在 Symfony 中不起作用
问题描述
我正在研究生成报告功能。在点击页面 url 时,它使用 curl 请求从 api 获取数据。在嵌入式代码中,我使用了一个函数 getProfileMarketplace 函数没有返回响应,导致无法生成报告。在 User Bundle profile_marketplace 函数中定义并且在顶部它被定义为私有的。在用户存储库功能用于获取活跃的 ppc 用户。
控制器代码
public function ppcReports()
{
/** @var CurlRequest $curlRequest */
$curlRequest = $this->get('app.advertise.request');
$entityManager = $this->getDoctrine()->getManager();
$users = $entityManager->getRepository('UserBundle:User')->getActivePPCUsers();
foreach($users as $user)
{
$refresh_token = $user->getRefreshToken();
$marketplace = $user->getProfileMarketplace();
//var_dump($marketplace);
$regionResponse = $curlRequest->regionBymarketplace($marketplace) ;
$region = json_decode($regionResponse->getContent());
$AdvertiseProfile = $entityManager->getRepository('AppBundle:AdvertiseProfile')->getUserProfile($user->getId());
if(!empty($AdvertiseProfile))
{
$profiles = $AdvertiseProfile[0]->getProfileDetails();
$requestParameter = array("userId"=>$user->getId(),
"refreshToken" => $refresh_token,
"region" => $region->region,
"sandbox" => $region->sandbox,
"profiles" => $profiles
) ;
$req_date = date('Ymd',strtotime("-1 days"));
$reportTypes = array('campaigns','adGroups','keywords','productAds') ;
foreach($reportTypes as $reportType)
{
switch ($reportType) {
case "campaigns":
$reportData = array(
"requestType" => "campaigns",
"campaignType" => "sponsoredProducts",
"reportDate" => $req_date ,
"metrics" => "impressions,clicks,cost,avgImpressionPosition,attributedConversions1dSameSKU,attributedSales1dSameSKU,attributedConversions14dSameSKU,attributedSales14dSameSKU,attributedConversions7dSameSKU,attributedSales7dSameSKU,attributedConversions30dSameSKU,attributedSales30dSameSKU"
) ;
break;
case "adGroups":
$reportData = array(
"requestType" => "adGroups",
"campaignType" => "sponsoredProducts",
"reportDate" => $req_date ,
"metrics" => "impressions,clicks,cost,avgImpressionPosition,attributedConversions1dSameSKU,attributedSales1dSameSKU,attributedConversions14dSameSKU,attributedSales14dSameSKU,attributedConversions7dSameSKU,attributedSales7dSameSKU,attributedConversions30dSameSKU,attributedSales30dSameSKU"
) ;
break;
case "keywords":
$reportData = array(
"requestType" => "keywords",
"campaignType" => "sponsoredProducts",
"reportDate" => $req_date ,
"segment" => "query",
"metrics" => "impressions,clicks,cost,avgImpressionPosition,attributedConversions1dSameSKU,attributedSales1dSameSKU,attributedConversions14dSameSKU,attributedSales14dSameSKU,attributedConversions7dSameSKU,attributedSales7dSameSKU,attributedConversions30dSameSKU,attributedSales30dSameSKU"
) ;
break;
case "productAds":
$reportData = array(
"requestType" => "productAds",
"campaignType" => "sponsoredProducts",
"reportDate" => $req_date ,
"metrics" => "impressions,clicks,cost,avgImpressionPosition,attributedConversions1dSameSKU,attributedSales1dSameSKU,attributedConversions14dSameSKU,attributedSales14dSameSKU,attributedConversions7dSameSKU,attributedSales7dSameSKU,attributedConversions30dSameSKU,attributedSales30dSameSKU,sku,asin,currency,campaignId,adGroupId,campaignName,adGroupName"
) ;
}
$Reportresponse = $curlRequest->genratereport($requestParameter,$reportData);
}
}
}
die('done for all reports');
}
应用程序包代码:
public function getProfileMarketplace()
{
return $this->profile_marketplace;
}
解决方案
推荐阅读
- assembly - 手臂组装/如何解决白蚁显示问题?
- jquery - 如何订购表格行?
- c# - 更改场景时访问 AudioSource 对象
- sql - 在 Eclipse (rbfw) 中使用 DatabaseLibrary 的 SQL 语句返回乱码而不是仅返回确切值
- python - 如何为特定的 POS 打印机格式化 Python 字符串
- python - 如何异步使用playsound?
- javascript - 根据传单中的数据属性更改标记颜色
- python - 当我尝试分组时,位置参数跟随关键字参数错误
- google-apps-script - 从另一个 Apps Script 项目运行 Apps Script Web App 时如何以编程方式进行身份验证
- ssh - 在另一个出口点使用wireguard服务器和隧道出口流量