小编Gwy*_*ell的帖子

在Drive SDK上按文件夹获取文件列表

我正在尝试构建一个Web UI,供用户浏览他/她的Google云端硬盘,然后选择一个或多个文档,以便稍后在数据库的网站中引用.我目前正在使用PHP构建Web界面.

我面临的问题是我找不到一个函数来获取文件夹Id的文件列表.

我试过用:

$service->children->listChildren($rootFolderId)
Run Code Online (Sandbox Code Playgroud)

...但是这只会提供文件夹中文件的文件引用ID(所谓的子资源项),这意味着我必须遍历这些文件并为每个文件创建一个调用以获取所有元数据我需要我的UI.

不幸..

$service->files->list()
Run Code Online (Sandbox Code Playgroud)

..将按文件夹列出我的所有文件,没有过滤选项.

我想知道是否有一种有效的方法从单个调用驱动器服务器中提取文件夹文件列表.我实际上记得能够通过旧的Google DOC API执行此操作.

非常感谢您的帮助

php google-drive-api

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

如果辅助其他未定义,则自定义把手

我有一个自定义帮助器,如下所示:

Handlebars.registerHelper('hasAccess', function(val, fnTrue, fnFalse) { 
    return val > 5 ? fnTrue() : fnFalse();
});
Run Code Online (Sandbox Code Playgroud)

和我的模板,如下:

{{#hasAccess this.access}}
    You have access!
{{else}}
    You do not have access
{{/hasAccess}}
Run Code Online (Sandbox Code Playgroud)

它工作,除了fnFalse未定义.那么,我该怎么渲染'else'分支呢?

handlebars.js

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

Chrome 97 - 未从 Office 365 OAuth 回调设置 Cookie

I have an app that has been running for years with no changes to the code. The app has OAuth2.0 login with a variety of providers including Google Workspace and Office 365. Since the launch of Chrome V97 (i.e. in last few days), the O365 login has stopped working, as for some reason, the auth cookie does not get set in the OAuth callback GET handler. The code that sets the cookie is the same code that is run for …

cookies google-chrome oauth-2.0 o365-flow

12
推荐指数
1
解决办法
1780
查看次数

如何在外部文件中定义Handlebar.js模板

我目前正在使用它们的同一HTML文件中定义我的Handlebars模板.

是否可以将它们定义为外部模板,可以在加载页面时调用它们?

templates external loading handlebars.js

9
推荐指数
2
解决办法
8603
查看次数

您可以为Google Apps Marketplace列表使用"内联安装"功能吗?

我通过Chorme网上应用店在Google Apps Marketplace中有一个应用.

在"编辑列表"页面上是内联安装的选项.

我已按照说明操作,但当我点击该链接时,我在控制台中收到错误"未捕获的Chrome网上应用店安装只能通过用户手势启动".

这是误导性的,因为它由用户手势触发的.

我尝试了各种不同的东西,比如提供URL作为安装方法的第一个参数,并逐步完成代码.一切看起来都没问题 - 我现在认为这个功能可能与Google Apps Marketplace列表不兼容?

为清楚起见,这是我的代码:

链接

<link rel="chrome-webstore-item"
   href="https://chrome.google.com/webstore/detail/[listingId]">
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

document.getElementById('btnTestInline').addEventListener('click', function() {
    chrome.webstore.install();
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<button id="btnTestInline">Add to Chrome</button>
Run Code Online (Sandbox Code Playgroud)

google-apps-marketplace chrome-web-store

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

使用驱动器API编辑Google文档

(为清楚起见,这篇文章与使用Python的Google App Engine上的Google Documents List APIGoogle Drive API之间的差异有关)

使用[现已弃用的]文档列表API,我能够通过导出为HTML,修改HTML然后重新上载来编辑Google文档,作为新文档或作为原始文档的修改.这对于从模板生成PDF文档等内容非常有用.我一直在尝试使用新的Drive API(V2)复制此功能,但似乎无法.

想出来了......

http = # authenticated http client
drive_service = build('drive', 'v2', http=http)

# get the file ...
file = drive_service.files().get(fileId=FILE_ID).execute()

# download the html ...
url = file['exportLinks']['text/html']
response, content = http.request(url)

# edit html
html = content.replace('foo', 'bar')

# create new file with modified html ...
body = {'title':'Modified Doc', 
        'description':'Some description', 
        'mimeType':'text/html'}
media_body = MediaIoBaseUpload(StringIO.StringIO(html), 'text/html', resumable=False)
drive_service.files().insert(body=body, media_body=media_body)
Run Code Online (Sandbox Code Playgroud)

上面的代码将html文件作为文件上传到Google云端硬盘,而不是将HTML呈现为Google文档.很公平,这是有道理的.但是我如何将其渲染为Google Doc,因为我可以使用Documents List API? …

python google-app-engine google-drive-api google-api-python-client

7
推荐指数
1
解决办法
5716
查看次数

对话框中的jquery datepicker

我想在对话框中使用jquery datepicker.应该在焦点上触发日期选择器(默认值).由于文本框是对话框中的第一个字段,因此它自动具有焦点.当首先打开对话框时,这会产生打开日期选择器的不良影响.

我尝试了很多不同的东西,比如将焦点设置为虚拟href,在对话框打开后调用datepicker('close'),将showOn设置为'button',然后在对话框打开后更改为'focus'但不起作用.

只有在文本框获得焦点时才应呈现日期选择器,但对话框首先打开时除外.

我的片段

$(function() {
    $('#btnDialog').click(function() {
        $('#myDate').datepicker({
            title: 'Test Dialog'
        });
        $('#myDialog').dialog();
    });
});?
Run Code Online (Sandbox Code Playgroud)

JS小提琴链接:http://jsfiddle.net/UkTQ8/

jquery jquery-ui

7
推荐指数
3
解决办法
2万
查看次数

MySQLdb存储过程输出参数不起作用

我有一个托管在Google Cloud SQL上的数据库,以及一个用于查询它的python脚本.

我试图调用具有Out参数的存储过程.SP被成功调用,但Out参数的值似乎没有返回到我的python代码.

例如,下面是摘自的例子在这里:

乘法存储过程的定义:

CREATE PROCEDURE multiply(IN pFac1 INT, IN pFac2 INT, OUT pProd INT)
BEGIN
  SET pProd := pFac1 * pFac2;
END
Run Code Online (Sandbox Code Playgroud)

如果我从命令行调用SP,如下所示:

CALL multiply(5, 5, @Result)
SELECT @Result
Run Code Online (Sandbox Code Playgroud)

我正确得到了结果:

+---------+
| @Result |
+---------+
|      25 |
+---------+
Run Code Online (Sandbox Code Playgroud)

但是如果我使用MySQLdb包用python代码调用它,就像这样:

args = (5, 5, 0) # 0 is to hold value of the OUT parameter pProd
result = cursor.callproc('multiply', args)
print result
Run Code Online (Sandbox Code Playgroud)

然后我没有得到我的结果元组中的out参数:

(5, 5, 0)
Run Code Online (Sandbox Code Playgroud)

那么,我在这里做错了什么?

更新:刚刚在callproc代码中发现此警告:

    Compatibility warning: PEP-249 specifies that any modified …
Run Code Online (Sandbox Code Playgroud)

python mysql mysql-python google-cloud-sql

7
推荐指数
1
解决办法
6282
查看次数

使用 Expo-auth-session 进行开发设置的 Google 重定向 URL

我正在尝试让 Oauth 流程在使用 React Native 和“expo-auth-session”库构建的移动应用程序上运行,该库对 Google OAuth 具有开箱即用的支持。请参阅https://docs.expo.dev/guides/google-authentication

如果我们输入“com.mydomain.myapp:/oauth”等生产值,则重定向 URI 有效,但 expo-auth-session 库提供了使用本地 HTTP 服务器在本地运行开发应用程序的工具。在这种情况下,重定向 URI 值需要类似于“exp://192.168.128.57:19000/--/oauth2”,这是 google 不允许的,因为我们收到错误“访问被阻止:授权错误” - “错误 400:无效的请求”。请注意,我们还尝试使用带有重定向 uri 的 localhost,例如“exp://localhost:19000/--/oauth2”,这也会导致 400 错误。

 const redirectUri = makeRedirectUri({
    scheme: 'com.mydomian.myapp',
    path: '/oauth2',
    preferLocalhost: true  // also tried false
  });


  const [request, response, promptAsync] = Google.useAuthRequest({
    androidClientId: ANDROID_CLIENT_ID,
    iosClientId: IOS_CLIENT_ID,
    redirectUri: redirectUri,
    scopes: ["profile", "email"]
  }, {
    useProxy: false
  });
Run Code Online (Sandbox Code Playgroud)

google-oauth react-native google-signin expo-auth-session

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

GMail日历从ICS邀请无法正确呈现

我创建了一个iCal文件,该文件已通过http://icalvalid.cloudapp.net上的100%传递。我将带有mimetype text / calendar的ic文件发送到gmail帐户,并且从Yahoo Calendar发送会议请求时,我观察到3种不同的情况:

首先,“在Google日历上查看”链接断开,URL为http://www.google.com/calendar/undefined

第二,我不知道 没有 也许是按钮,但是有一个“添加到日历”链接

雅虎邀请: 在此处输入图片说明

我的应用程式邀请: 在此处输入图片说明

第三,当我在Google日历中实际打开活动时,我看到了yahoo活动的源字段,但我没有得到:

在此处输入图片说明

我已经比较了ical文件,看不到任何明显的不同。

供参考,这是我的ical文件:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//MyCompany//MyApp//EN
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:this is the summary
DTSTART;VALUE=DATE-TIME:20140504T120000
DTEND;VALUE=DATE-TIME:20140504T140000
DTSTAMP;VALUE=DATE-TIME:20140514T095627Z
UID:58cf4653e9da4fbaa27fbef1e9815d95@myapp.com
SEQUENCE:0
CLASS:PUBLIC
DESCRIPTION:this is the description
ORGANIZER;CN="My App";ROLE=CHAIR:MAILTO:me@myapp.com
PRIORITY:5
STATUS:CONFIRMED
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

因此,我的问题是:

  1. 如何修复“在Google日历上查看”链接?
  2. 如何获取gmail来渲染“可能是否”按钮?
  3. 如何获取“源”字段以链接回我的应用程序?

我认为这3个相关-似乎Google尚未完全识别日历邀请。

任何帮助表示赞赏-谢谢!

icalendar gmail

5
推荐指数
1
解决办法
3055
查看次数

使用 gsutil 工具,是否可以列出文件名与正则表达式匹配的文件?

我想列出不以特定前缀开头的文件。我可以很好地列出它们,如下所示:

gsutil ls gs://my_bucket/my_prefix*
Run Code Online (Sandbox Code Playgroud)

我该如何做相反的事情?

gsutil

2
推荐指数
1
解决办法
1364
查看次数

如何在按钮点击之间创建延迟(以防止按钮发送垃圾邮件)

我正在创建一个java程序,它涉及一个给出一堆问题的按钮.我想知道如何在用户点击按钮之间创建延迟(以防止按钮发送垃圾邮件).这是我试过的.

public void ButtonActionPerformed(java.awt.event.ActionEvent evt) {
    Thread DelayTHREAD = new Delay();
    if(DelayTHREAD.isAlive()) {
        /*do nothing*/
    }
    else {
        /*some other code*/
        DelayTHREAD.start();
    }
}
public static class Delay extends Thread /*Prevents user from spamming buttons*/ {
    @Override
    public void run() {
        try {
            Thread.sleep(5000); /*sleeps for the desired delay time*/
        }catch(InterruptedException e){
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

好的,这就是问题,延迟线程是否启动无关紧要,程序仍然继续执行所执行的操作,好像延迟线程从未存在过一样.

有人请告诉我如何创建延迟,以便用户不能在程序中发送垃圾邮件按钮?谢谢 :)

java swing

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