Google 选择器使用 Scala.js

Google Picker using Scala.js

我想在我的 Scala.js 应用程序中使用 Google Picker。我需要以某种方式转换此 example

主要有两个问题:

首先,如何在我的 Scala.js 代码中加载和使用 https://apis.google.com/js/api.js 以使用 gapi 对象?

gapi.load('auth', {'callback': onAuthApiLoad});
gapi.load('picker', {'callback': onPickerApiLoad});

其次,加载选择器后,如何访问 google.picker 对象来创建选择器?

var picker = new google.picker.PickerBuilder()

至于任何其他 JavaScript API,您基本上可以通过使用 js.Dynamic 的动态类型 API 或(可能是手写的)类型来访问它门面.

在这种情况下,我建议第一部分使用动态 API:

import scala.scalajs.js
import js.Dynamic.{global => g, literal => lit}

g.gapi.load("auth", lit(callback = onAuthApiLoad))
g.gapi.load("picker", lit(callback = onPickerApiLoad))

和第二部分的静态 API:

@js.native
@JSName("google.picker.PickerBuilder")
class PickerBuilder() extends js.Object {
  // here you can declare methods and fields of PickerBuilder
}

val picker = new PickerBuilder()