首页 > 解决方案 > 如何使用谷歌云存储中的谷歌自然语言处理?

问题描述

我这里有一个示例代码。它是 json

{
  "document":{
    "type":"PLAIN_TEXT",
    "content":"Joanne Rowling, who writes under the pen names J. K. Rowling and Robert Galbraith, is a British novelist and screenwriter who wrote the Harry Pott$
  },
  "encodingType":"UTF8"
}

我找到了一个关于谷歌关于从谷歌云存储读取的自然语言处理文档的教程。

curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \ --data "{
  'document':{
    'type':'PLAIN_TEXT',
    'gcsContentUri':'gs://reubucket/textData'
  }
}" "https://language.googleapis.com/v1/documents:analyzeEntitySentiment"

我得到的错误是

ERROR: (gcloud.auth) Invalid choice: '*************-_m6csS1Wzlj1pyC_J7vzC0'.
Usage: gcloud auth [optional flags] <group | command>
  group may be           application-default
  command may be         activate-service-account | configure-docker | list |
                         login | revoke

如何使用我的 API 密钥调用命令。我需要一种方法将“内容”更改为我的 CSV 文件中的条目。谢谢你。这是我收到的错误示例,请帮助:

mufaroshumba@reucybertextmining:~/myFolder$ gcloud auth activate-service-account --key-file="/home/mufaroshumba/myFolder/reucybertextmining-74fa66372251.json"
Activated service account credentials for: [starting-*******[CENSORED]@reucybertextmining.iam.gserviceaccount.com]
mufaroshumba@reucybertextmining:~/myFolder$ curl "https://language.googleapis.com/v1/documents:analyzeSentiment?key=${API_KEY}" \ -s -X POST -H "Content-Type: app
lication/json" --data-binary @request.json
{
  "error": {
    "code": 401,
    "message": "Permission to access the GCS address is denied.",
    "status": "UNAUTHENTICATED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "document.gcs_content_uri",
            "description": "Permission to access the GCS address is denied."
          }
        ]
      }
    ]
  }
}
curl: (6) Could not resolve host:  -s
mufaroshumba@reucybertextmining:~/myFolder$

然后我用这个网站试图得到

标签: csvgoogle-app-enginegoogle-cloud-platformgoogle-natural-language

解决方案


看起来您的身份验证设置不正确。如果您只是运行以下命令: gcloud auth application-default print-access-token 它应该会给您一个令牌,但似乎不是。请按照此处的步骤确保此命令首先运行: https ://cloud.google.com/natural-language/docs/quickstart#quickstart-analyze-entities-cli

然后,只要您有权访问 gcs 存储桶,您就应该能够从中获取内容。请注意,API 期望看到 gcs 文件中的实际内容,而不是 CSV。


推荐阅读