首页 > 解决方案 > 使用 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;

    }

标签: phpsymfony

解决方案


推荐阅读