google people.api, people.getBatchGet,如何建立resourceNames列表?

google people.api, people.getBatchGet, how to build the resourceNames List?

使用一个 resourceName 此代码工作正常

    strTmp = resources(1)
    Set web_HTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
Repeat2:
    web_Url_AllResources = "https://people.googleapis.com/v1/people:batchGet"
    web_HTTP.Open "GET", web_Url_AllResources & "?" & _
        "access_token=" & Token & "&" & _
        "key=" & ApiKey & "&" & _
        "resourceNames=" & strTmp & "&" & _
        "personFields=" & "names,addresses,organizations,memberships"

strTmp 中的值为 people/c1546047072727163997

如果我希望通过

获得不止一种资源
strTmp = resources(1) & "," & resources(2)

我收到错误代码 400:参数无效,ResourceName false

我不知道如何构建有效的请求列表。

您必须为每个您想要了解其信息的资源人员提供一个 resourceNames 参数。因为您提供的资源名称(类似于 people/c12345,people/c123456)不存在,所以您会收到此错误。

在这种情况下请求的 URI 必须是:

https://people.googleapis.com/v1/people:batchGet?resourceNames=people/c12345&resourceNames=people/c123456&{other-fields}

所以在这种情况下,您必须执行以下操作:

    strTmp = resources(1)
    strTmpBis = resources(2)
    Set web_HTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
Repeat2:
    web_Url_AllResources = "https://people.googleapis.com/v1/people:batchGet"
    web_HTTP.Open "GET", web_Url_AllResources & "?" & _
        "access_token=" & Token & "&" & _
        "key=" & ApiKey & "&" & _
        "resourceNames=" & strTmp & "&" & _
        "resourceNames=" & strTmpBis & "&" & _
        "personFields=" & "names,addresses,organizations,memberships"

我建议您测试您对 apis-explorer and/or with OAuth 2.0 Playground 有疑问的调用。

参考:

希望对您有所帮助。