Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET中的AdWords API。我可以避免使用'user'对象吗?_C#_Asp.net_Rest_Api_Google Api - Fatal编程技术网

C# ASP.NET中的AdWords API。我可以避免使用'user'对象吗?

C# ASP.NET中的AdWords API。我可以避免使用'user'对象吗?,c#,asp.net,rest,api,google-api,C#,Asp.net,Rest,Api,Google Api,故事是:我正在构建一个节点应用程序,但我需要来自GoogleAdWords的数据。由于没有正式的节点库,我无法让非正式的节点库工作,所以我想在ASP.NET中创建一个RESTAPI。到目前为止,这就是我所拥有的: [HttpGet] public IEnumerable<string> Get() { TargetingIdeaSelector selector = new TargetingIdeaSelector { requestType = R

故事是:我正在构建一个节点应用程序,但我需要来自GoogleAdWords的数据。由于没有正式的节点库,我无法让非正式的节点库工作,所以我想在ASP.NET中创建一个RESTAPI。到目前为止,这就是我所拥有的:

[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" };
}
[HttpGet]
公共IEnumerable Get()
{
TargetingIdeaSelector选择器=新的TargetingIdeaSelector
{
requestType=requestType.IDEAS,
ideaType=ideaType.KEYWORD,
RequestedAttributeType=新的AttributeType[]{
AttributeType.KEYWORD\u文本,
AttributeType.SEARCH\u卷,
AttributeType.AVERAGE\u CPC,
属性类型竞争,
AttributeType.CATEGORY\u产品和服务
}
};
//设置选择器分页(目标idea服务所需)。
Paging=Paging.Default;
//创建与查询相关的搜索参数。
RelatedToQuerySearchParameter RelatedToQuerySearchParameter=
新的RelatedToQuerySearchParameter
{
查询=新字符串[]{
“面包店”、“糕点店”、“生日蛋糕”
}
};
var searchParameters=新列表
{
relatedToQuerySearchParameter
};
targetingDeAppage页面=新建targetingDeAppage();
page=targetingIdeaService.get(选择器);
返回新字符串[]{“value1”,“value2”};
}
我基本上是从计算机上获取代码的。问题是没有定义targetingDiaService。如果我试着看一看a,它看起来是这样的:

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);
public void运行(AdWordsUser,long?adGroupId){
使用(TargetingIdeaService TargetingIdeaService)=
(TargetingIdeaService)user.GetService(AdWordsService.v201802.TargetingIdeaService)){
//创建选择器。
TargetingIdeaSelector选择器=新的TargetingIdeaSelector();
selector.requestType=requestType.IDEAS;
selector.ideaType=ideaType.KEYWORD;
selector.RequestedAttributeType=新的AttributeType[]{
AttributeType.KEYWORD\u文本,
AttributeType.SEARCH\u卷,
AttributeType.AVERAGE\u CPC,
属性类型竞争,
AttributeType.CATEGORY\u产品和服务
};
List searchParameters=新列表();
//创建与查询相关的搜索参数。
RelatedToQuerySearchParameter RelatedToQuerySearchParameter=
新的RelatedToQuerySearchParameter();
relatedToQuerySearchParameter.queries=新字符串[]{
“面包店”、“糕点店”、“生日蛋糕”
};
searchParameters.Add(relatedToQuerySearchParameter);
还有更多的代码。重点是他们在函数中创建了它,并将
用户
对象传递给它。现在我不会说对象。除非需要。然后我就完蛋了。但我需要启动并运行此服务。这是唯一缺少的一步,而不是它应该工作


因此,我的问题是:有人看到了解决方法吗?

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

需要用户对象。我可以在ASP.NET端?这是一个具有刷新令牌、访问令牌、客户端id等的端?您需要在ASP.NET应用程序中创建AdWordsUser。是的。我尝试过了,并发布了另一个关于该端的问题。如果您感兴趣,请提供更多信息