小编tab*_*iul的帖子

超出未经身份验证的使用的每日限制

我想在Go中编写一个简单的命令行google drive api.到目前为止,我似乎已经成功验证了应用程序,因为我可以获得access_token和refresh_token.当我尝试使用令牌访问SDK Api时出现问题,我收到以下错误消息

{
 "error": {
 "errors": [
 {
    "domain": "usageLimits",
    "reason": "dailyLimitExceededUnreg",
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
    "extendedHelp": "https://code.google.com/apis/console"
 }
],
 "code": 403,
 "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
 }
}
Run Code Online (Sandbox Code Playgroud)

我注意到的另一个奇怪的事情是我在google api控制台中没有看到任何配额信息.所以不确定这是不是问题.但是因为我可以通过身份验证,所以我想我应该在控制台api设置方面做得很好.

下面是api查询的代码

 accessUrl := "https://www.googleapis.com/drive/v2/files" + "?access_token=\"" + accessToken + "\""
 if res , err := http.Get(accessUrl); err == nil {
      if b, err2 := ioutil.ReadAll(res.Body); err2 == nil {
            fmt.Println(string(b))
      }else{
          fmt.Println(err2)
      }   
 }else{ …
Run Code Online (Sandbox Code Playgroud)

google-drive-api

8
推荐指数
1
解决办法
1万
查看次数

二元搜索的复杂性

我正在观看Berkley Uni的在线讲座并坚持下面的内容.

问题:假设您有一个已经排序的CD集合.您要查找标题以"Best Of"开头的CD列表.

解决方案:我们将使用二进制搜索来查找"Best Of"的第一个案例,然后我们进行打印,直到该块不再是"Best Of"

附加问题:找出此算法的复杂性.

上限:二进制搜索上限是O(log n),所以一旦我们找到它,那么我们打印让我们说k标题.所以它是O(logn + k)

下限:二进制搜索下限是Omega(1),假设我们很幸运,并且记录标题是中间标题.在这种情况下,它是欧米茄(k)

这是我分析它的方式.

但在讲座中,讲师使用了最好的案例和最坏的案例.我有两个问题:

  1. 为什么需要使用最佳情况和最坏情况,不是大O和欧米茄被认为是算法可以执行的最佳和最差情况?
  2. 他的分析是最糟糕的案例:Theta(logn + k)
    最佳案例:Theta(k)

    如果我使用最坏情况的概念来指代数据并且与算法无关,那么他的分析是正确的.这是因为假设最坏的情况(CD标题到底或未找到)那么Big O和Omega都是log n,那里是theta(log n + k).

    假设您没有做"最佳案例"和"最坏情况",那么您如何分析算法?我的分析是对的吗?

algorithm complexity-theory big-o binary-search

6
推荐指数
1
解决办法
1万
查看次数

去编程语言界面概念性理解

我正在编写示例Http客户端/服务器代码以了解有关Go的更多信息.在写作过程中,我需要阅读响应主体.所以我查看了Go Pkg文档http://golang.org/pkg/net/http/#Response,看到Body io.ReadCloser即Body是io.ReaderCloser类型.为了知道什么是io.ReaderCloser,我点击了超链接,发现http://golang.org/pkg/io/#ReadCloser是一个实现Reader和Closer两种方法的接口.看着这个我以为我能做到这一点

line, _ , err := response.Body.Reader.ReadLine()
Run Code Online (Sandbox Code Playgroud)

Go编译器然后给了我错误,没有方法或者在响应中输入Reader.Body.我认为在概念上我有一个理解为什么我不能这样做的问题.也许我在java方面思考太多了.如果有人能指出我的误解,我将不胜感激.

谢谢

go

3
推荐指数
1
解决办法
215
查看次数