AdWords API in ASP.NET.我可以避免使用“用户”对象吗?



故事是:我正在构建一个Node应用程序,但我需要来自Google AdWords的数据。由于没有官方的 Node 库,而且我无法让非官方的库工作,我想在 ASP.NET 年创建一个 REST API。到目前为止,这就是我所拥有的:

[HttpGet]
public IEnumerable<string> Get()
{
    TargetingIdeaSelector selector = new TargetingIdeaSelector
    {
        requestType = RequestType.IDEAS,
        ideaType = IdeaType.KEYWORD,
        requestedAttributeTypes = new AttributeType[] {
    AttributeType.KEYWORD_TEXT,
    AttributeType.SEARCH_VOLUME,
    AttributeType.AVERAGE_CPC,
    AttributeType.COMPETITION,
    AttributeType.CATEGORY_PRODUCTS_AND_SERVICES
}
    };
    // Set selector paging (required for targeting idea service).
    Paging paging = Paging.Default;
    // Create related to query search parameter.
    RelatedToQuerySearchParameter relatedToQuerySearchParameter =
        new RelatedToQuerySearchParameter
        {
            queries = new String[] {
        "bakery", "pastries", "birthday cake"
            }
        };
    var searchParameters = new List<SearchParameter>
        {
            relatedToQuerySearchParameter
        };
    TargetingIdeaPage page = new TargetingIdeaPage();
    page = targetingIdeaService.get(selector);
    return new string[] { "value1", "value2" };
}

我基本上从文档中获取了代码。问题是没有定义目标创意服务。如果我尝试查看代码示例,它看起来像这样:

public void Run(AdWordsUser user, long? adGroupId) {
  using (TargetingIdeaService targetingIdeaService =
      (TargetingIdeaService) user.GetService(AdWordsService.v201802.TargetingIdeaService)) {
    // Create selector.
    TargetingIdeaSelector selector = new TargetingIdeaSelector();
    selector.requestType = RequestType.IDEAS;
    selector.ideaType = IdeaType.KEYWORD;
    selector.requestedAttributeTypes = new AttributeType[] {
      AttributeType.KEYWORD_TEXT,
      AttributeType.SEARCH_VOLUME,
      AttributeType.AVERAGE_CPC,
      AttributeType.COMPETITION,
      AttributeType.CATEGORY_PRODUCTS_AND_SERVICES
    };

    List<SearchParameter> searchParameters = new List<SearchParameter>();
    // Create related to query search parameter.
    RelatedToQuerySearchParameter relatedToQuerySearchParameter =
        new RelatedToQuerySearchParameter();
    relatedToQuerySearchParameter.queries = new String[] {
      "bakery", "pastries", "birthday cake"
    };
    searchParameters.Add(relatedToQuerySearchParameter);

还有更多的代码。关键是他们在函数中制作了它,并将一个user对象传递到其中。现在我不会说反对。除非需要。然后我就完蛋了。但是我需要启动并运行此服务。这是唯一缺少的步骤,除了它应该有效。

所以我的问题是:有人看到解决方法吗?

AdWordsUser 对象包含连接到 API 所需的身份验证。如果没有它,您的应用将不知道要向 TargetingIdeaService 提供哪个 AdWords 帐户和 OAuth 刷新令牌。

最新更新