예제 #1
0
        public static LinkedInApiPaginatedResult <CampaignElement> GetAdCampaignsForCompany(this LinkedInApi api, OrgEntElements company)
        {
            string campaignsJson = api.RawGetJsonQuery(
                path: $"/v2/adCampaignsV2?q=search&search.associatedEntity.values[0]={company.OrganizationalTarget}",
                user: LinkedInApiFactory.GetUserAuthorization()
                );

            LinkedInApiPaginatedResult <CampaignElement> campaigns = JsonConvert.DeserializeObject <LinkedInApiPaginatedResult <CampaignElement> >(campaignsJson);

            return(campaigns);
        }
예제 #2
0
        public static LinkedInApiPaginatedResult <AdAnalyticsElement> GetAdsReporting(this LinkedInApi api, OrgEntElements company, DateTime startDate, DateTime?endDate = null)
        {
            StringBuilder apiQueryBuilder = new StringBuilder();

            apiQueryBuilder.Append("/v2/adAnalyticsV2?q=analytics&pivot=CAMPAIGN&timeGranularity=DAILY");

            // Build the startDate param into the query
            apiQueryBuilder.Append($"&dateRange.start.day={startDate.Day}&dateRange.start.month={startDate.Month}&dateRange.start.year={startDate.Year}");

            if (endDate.HasValue)
            {
                // Build the endDate param into the query
                apiQueryBuilder.Append($"&dateRange.end.day={endDate?.Day}&dateRange.end.month={endDate?.Month}&dateRange.end.year={endDate?.Year}");
            }

            apiQueryBuilder.Append($"&companies[0]={company.OrganizationalTarget}");

            string resultJson = api.RawGetJsonQuery(apiQueryBuilder.ToString(), LinkedInApiFactory.GetUserAuthorization());
            LinkedInApiPaginatedResult <AdAnalyticsElement> result = JsonConvert.DeserializeObject <LinkedInApiPaginatedResult <AdAnalyticsElement> >(resultJson);

            return(result);
        }