Google Blogger API返回403错误

时间:2016-03-16 11:45:26

标签: ios api

我正在开发一个iOS应用来显示我的博客/网站上的公开信息。根据Google开发人员指南中的建议,在“Google Developers Console”下创建了iOS公共API密钥,并在我的项目中包含了GTL客户端库和所需的源代码。还在Google Developer Console中启用了博客V3 API。

当我执行查询以使用blogID报告获取博客时出现以下错误:

  

发生错误!错误域= com.google.GTLJSONRPCErrorDomain代码= 403"(权限不足)" UserInfo = {error =权限不足,NSLocalizedFailureReason =(权限不足),GTLStructuredError = GTLErrorObject 0x7fe743766030:{message:"权限不足"数据:[1]代码:403}}

Code Snippest:

let bloggerService : GTLServiceBlogger =  GTLServiceBlogger()

override func viewDidLoad() {
    super.viewDidLoad()
    self.bloggerService.authorizer  = GTMOAuth2ViewControllerTouch.authForGoogleFromKeychainForName(kKeychainItemName as String, clientID: kClientID, clientSecret: nil)

    bloggerService.APIKey = kAPIKey;
    let query : GTLQueryBlogger = GTLQueryBlogger.queryForBlogsGetWithBlogId(kBlogID)

    self.bloggerService.executeQuery(query, completionHandler:  { (ticket, blogList , error) -> Void in
        if error == nil {
            print("Blog list = \(blogList)")
        } else {
            print("An Error Occurred! \(error)")
            self.showAlert(“Error”, message: "Sorry, an error occurred!")
        }

    })

如果我注释掉授权码(self.bloggerService.authorizer = GTMOAuth2ViewControllerTouch.authForGoogleFromKeychainForName(kKeychainItemName as String, clientID: kClientID, clientSecret: nil)),则错误会有所不同:

  

发生错误!错误域= com.google.GTLJSONRPCErrorDomain代码= 403"(您的API密钥上配置了每IP或每个Referer限制,但请求与这些限制不符。请使用Google Developers Console更新您的如果允许来自此IP或引荐来源的请求,则为API密钥配置。)" UserInfo = {error =在您的API密钥上配置了每IP或每个Referer限制,并且请求与这些限制不匹配。如果应允许来自此IP或引荐来源的请求,请使用Google Developers Console更新API密钥配置。,NSLocalizedFailureReason =(您的API密钥上配置了每IP或每个Referer限制且请求与这些不匹配如果允许来自此IP或引荐来源的请求,请使用Google Developers Console更新您的API密钥配置。),GTLStructuredError = GTLErrorObject 0x7fe41945b170:{message:"有每个IP或每个Referer限制在您的API密钥上配置,请求与这些限制不匹配。如果应允许来自此IP或引荐来源的请求,请使用Google Developers Console更新您的API密钥配置。"数据:[1]代码:403}}

有人可以帮我解决这个问题吗?

注意:实际上,当我在Google API Explorer(“https://developers.google.com/apis-explorer/#p/blogger/v3/blogger.blogs.get”)中运行此HTTP请求时,它会返回JSON响应。

0 个答案:

没有答案