希望有人能帮助我。我用. sh编写了一个API来获取消息的详细信息。
curl --silent -k --header "PRIVATE-TOKEN:$GITLAB_AUTH_TOKEN"** *and some code*
在这里,当硬编码PRIVATE-TOKEN
时,脚本工作正常,但当我使用这个变量时,它不工作。
我会先检查变量设置是否正确:
echo "GITLAB_AUTH_TOKEN='${GITLAB_AUTH_TOKEN}'"
注意${GITLAB_AUTH_TOKEN}
周围的简单引号:它有助于可视化标记后面是否有任何额外的空间,这可能是有问题的。
然后我会使用${}
语法,为了安全:
curl --silent -k --header "PRIVATE-TOKEN: ${GITLAB_AUTH_TOKEN}"
我也会用--verbose
而不是--silent
执行相同的命令,以便查看curl
正在做什么(用于测试)。
注意PRIVATE-TOKEN:
和令牌之间的空格。
参见GitLab API/个人/项目访问令牌
在参数中使用个人或项目访问令牌的示例:
curl "https://gitlab.example.com/api/v4/projects?private_token=<your_access_token>"
在header中使用个人或项目访问令牌的示例:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects"
您还可以使用个人或项目访问令牌与oauth兼容的头:
curl --header "Authorization: Bearer <your_access_token>" "https://gitlab.example.com/api/v4/projects"