roe*_*oev 8 javascript php jquery scope google-api
我想在Google API JavaScript中使用多个范围.我想要做的是获取用户的电子邮件和姓名.
我可以从范围获得名称:https://www.googleapis.com/auth/plus.me
我可以从范围获取电子邮件:https://www.googleapis.com/auth/userinfo.email
但是如何在同一个应用程序中使用它们呢?
我的代码是:
scopes = 'https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/userinfo.email';
gapi.signin.render('StartGoogleBtn', {
'callback': 'onSignInCallback',
'clientid': clientId,
'cookiepolicy': 'single_host_origin',
'scope': scopes
});
Run Code Online (Sandbox Code Playgroud)
应该是什么范围?谢谢 :)
ama*_*mar 12
只是猜测,但尝试用围绕它的双引号分隔的空格.这就是OAuth 2所要求的,当我为客户端编写代码时,我会自动正确地处理该场景.我认为它只是通过命令传递.这对我有用.
scopes = "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/plus.me"
Run Code Online (Sandbox Code Playgroud)
我会在回答前说我没有使用过 Javascript 版本。我正在使用 Java 库,它允许我通过传递包含我想要的范围的字符串列表来设置范围。
List<String> SCOPES = Arrays.asList(
DirectoryScopes.ADMIN_DIRECTORY_GROUP, //https://www.googleapis.com/auth/admin.directory.group
DirectoryScopes.ADMIN_DIRECTORY_USER, //https://www.googleapis.com/auth/admin.directory.user
DriveScopes.DRIVE //https://www.googleapis.com/auth/drive
);
credential = new GoogleCredential.Builder()
.setTransport(httpTransport).setJsonFactory(jsonFactory)
.setServiceAccountId(serviceAccountId)
.setServiceAccountScopes(SCOPES)
.setServiceAccountPrivateKeyFromP12File(p12File)
.setServiceAccountUser(adminUser).build();
Run Code Online (Sandbox Code Playgroud)
假设 Javascript 库的工作方式与 Java 库类似,您应该能够通过将scopes变量设置为字符串数组来添加多个作用域。
| 归档时间: |
|
| 查看次数: |
5759 次 |
| 最近记录: |