一直试图通过ruby访问google电子邮件设置api。
到目前为止,我可以使用ruby google api客户端获取访问令牌,
#<Google::APIClient:0x007f08b89dabf8
@authorization=
#<Signet::OAuth2::Client:0x007f08b72b6990
@access_token=
"hfiponawbvpuqwbr[igi[qwrjgip[nwq[rbgqwbr[ogn[iwrqjpgjowpqrjpogjqwr",
@additional_parameters={},....etc
但是,当我尝试使用它来访问电子邮件设置api:
GET https://apps-apis.google.com/a/feeds/emailsettings/2.0/mydomain.com/muggins/filter?access_token=<access_token>
我明白了 需要授权
遵循此示例(取自the drive docs并使用与驱动器完全相同的方法,并且它可以正常工作。 但是没有示例in the email settings docs并且相同的方法不起作用(它假定拒绝访问令牌)。
有什么想法吗?感觉就像我如此亲密,而这一点远远落后于背后的正确的皇家痛苦......
答案 0 :(得分:0)
行。由于缺乏文档,因此需要付出很大的努力来解决这个问题。
问题是令牌需要作为标头传递并且具有字符串&#34; Bearer&#34;附在它之前。
所以,这样的东西(用于身份验证)
url = "https://apps-apis.google.com/a/feeds/emailsettings/2.0/mydomain.com/muggins/"
HTTParty.get(url+"sendas", header: {"Authorization" => "Bearer #{your_token}"})
将返回用户的sendas地址列表。
如果你想张贴......
url = "https://apps-apis.google.com/a/feeds/emailsettings/2.0/mydomain.com/muggins/"
result = HTTParty.post(
url+"sendas",
header:{
"Authorization" => "Bearer #{your_token}",
"Content-Type" => "application/atom+xml"
}
)