我尝试通过 API 获取调查结果,但仍然收到错误。 我能够获取谷歌日历事件,但是当我尝试获取调查列表或结果(https://www.googleapis.com/surveys/v2/surveys/{survey_ID}/结果)时,我得到:
"domain": "global",
"reason": "INVALID_CREDENTIALS",
"message": "User must be authenticated to make this call. Request Id: 5a73195500ff0c64532dccb0ef0001737e3430322d747269616c320001707573682d30312d33312d72313100010163",
"locationType": "header",
"location": "Authorization"
}
看起来我的访问令牌不正确,但是使用相同的令牌和方法,例如,我得到了日历事件。 看起来我没有范围,但是当我发出此请求时https://www.googleapis.com/oauth2/v1/tokeninfo?access_token={valid_token}
我得到了正确的答案:
"issued_to": "822311642112-***********.apps.googleusercontent.com",
"audience": "822311642112-***********.apps.googleusercontent.com",
"scope": "https://www.google.com/calendar/feeds/ https://www.googleapis.com/auth/surveys",
"expires_in": 2983,
"access_type": "offline"
我已在帐户中启用了调查 API。我正在通过Windows对象Microsoft.XMLHTTP从Visual foxpro桌面应用程序运行此代码
知道我做错了什么吗?
编辑: 这不是这个问题的重复,因为我的身份验证凭据在日历上工作得很微弱,但不适用于调查。 看起来 Maia Werbos 对我有正确的答案,现在我得到的响应是请求是正确的(状态:200),但响应只包含 requestId。
玛雅非常感谢你。
您的请求显示您启用了以下两个 OAuth 作用域:
https://www.google.com/calendar/feeds/
https://www.googleapis.com/auth/surveys
但是,您还需要启用电子邮件范围才能使用调查 API(有关详细信息,请参阅调查 API 入门指南):
https://www.googleapis.com/auth/userinfo.email