C#Google API文档在哪里?
样本代码在哪里?
这些已经过时了.
https://developers.google.com/gdata/client-cs https://code.google.com/p/google-api-dotnet-client/source/browse/?repo=samples#hg/Calendar.VB. ConsoleApp
该网站上还有未解答的类似问题.
c# google-authentication google-api-client google-api-dotnet-client
我正在使用Google身份验证创建一个AspNetCore应用程序。我正在Ubuntu服务器上的Nginx反向代理后面部署此应用程序。 几乎所有的东西都在工作,但是我在回调URL上遇到了麻烦。
在Google开发人员控制台中,我将http:// localhost:5000 / signin-google设置为授权重定向URI。这可以按预期工作,并允许我从工作站运行时使用Google身份验证。
为了进行生产,我将https:// myserver / signin-google设置为授权重定向URI。但是,当我尝试使用它时,从accounts.google.com收到错误消息,表明未授权http:// myserver / signin-google(请注意缺少s)。确实如此; 它不应该被授权,我的服务器甚至不响应端口80的请求。
如何告诉身份验证中间件,我需要它使用HTTPS作为回调URL?
我正在尝试使用 Express.JS 框架构建一个 Node.JS REST 服务器,该框架为移动应用程序集成了 Google 身份验证。使用的 Node.JS 版本是 0.12.7。
我在验证从应用程序收到的 Google 令牌时遇到问题,因为我尝试加载的模块似乎返回了错误。
用于验证此令牌的模块是passport-google-token。用于初始化该模块和检查令牌的代码如下:
index.js 文件
'use strict';
import express from 'express';
import passport from 'passport';
import {setTokenCookie} from '../../auth.service';
var router = express.Router();
router
.post('/callback', passport.authenticate('google-token'), setTokenCookie);
export default router;
Run Code Online (Sandbox Code Playgroud)
护照.js文件
import passport from 'passport';
import GoogleTokenStrategy from 'passport-google-token';
export function setup(User, config) {
passport.use(new GoogleTokenStrategy({
clientID: config.google.clientID,
clientSecret: config.google.clientSecret
},
function(accessToken, refreshToken, profile, done) {
User.findOne({'google.id': profile.id}).exec()
.then(user => {
if (user) {
console.log(user);
return …Run Code Online (Sandbox Code Playgroud) google-authentication node.js access-token express passport.js
我正在尝试在 node.js 上使用 google api,但总是出现以下错误:
invalid_grant
Malformed auth code
Run Code Online (Sandbox Code Playgroud)
通过在网络上搜索,我发现客户端 ID 应该是电子邮件地址,而不是控制台上的客户端 ID。我将其更改为我的 google 帐户的电子邮件地址,情况更糟,因为我无法使用 google 进行连接
这是改编自https://developers.google.com/youtube/v3/docs/videos/list的代码
var fs = require('fs');
var readline = require('readline');
var { google } = require('googleapis');
// var googleAuth = require('google-auth-library');
// If modifying these scopes, delete your previously saved credentials
// at ~/.credentials/google-apis-nodejs-quickstart.json
var SCOPES = ['https://www.googleapis.com/auth/youtube.force-ssl']
var TOKEN_DIR = (process.env.HOME || process.env.HOMEPATH ||
process.env.USERPROFILE) + '/.credentials/';
var TOKEN_PATH = TOKEN_DIR + 'google-apis-nodejs-quickstart.json';
// Load client secrets from a local file. …Run Code Online (Sandbox Code Playgroud) 据我所知,在 Google 的身份验证代码流中,redirect_uri 需要是“postmessage”而不是 URI。
谁能解释一下这个值具体是做什么的?
我最好的解释是它告诉浏览器返回到帖子的来源,但我没有支持这个假设的文档。
关于此主题的文档似乎为零,但在大多数情况下它是给定的解决方案。任何澄清都会很好。
一年多以来,我一直在为 google 数据流构建和创建模板。我从来没有遇到过创建模板并通过options.setTemplateLocation(templatePath);调用将它们上传到 gcs 的问题。从今天开始,Pipeline.create(options);在 eclipse 中使用 java 程序创建管道并运行 java 程序时,出现以下异常:
Exception in thread "main" java.lang.RuntimeException: Failed to construct instance from factory method DataflowRunner#fromOptions(interface org.apache.beam.sdk.options.PipelineOptions)
at org.apache.beam.sdk.util.InstanceBuilder.buildFromMethod(InstanceBuilder.java:233)
at org.apache.beam.sdk.util.InstanceBuilder.build(InstanceBuilder.java:162)
at org.apache.beam.sdk.PipelineRunner.fromOptions(PipelineRunner.java:52)
at org.apache.beam.sdk.Pipeline.create(Pipeline.java:142)
at mypackage.PipelineCreation.getTemplatePipeline(PipelineCreation.java:34)
at myotherpackage.Main.main(Main.java:51)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.beam.sdk.util.InstanceBuilder.buildFromMethod(InstanceBuilder.java:222)
... 5 more
Caused by: java.lang.RuntimeException: Unable to verify that GCS bucket gs://my-projects-staging-bucket exists.
at org.apache.beam.sdk.extensions.gcp.storage.GcsPathValidator.verifyPathIsAccessible(GcsPathValidator.java:92)
at org.apache.beam.sdk.extensions.gcp.storage.GcsPathValidator.validateOutputFilePrefixSupported(GcsPathValidator.java:61)
at org.apache.beam.runners.dataflow.DataflowRunner.fromOptions(DataflowRunner.java:228)
... 10 more
Caused by: …Run Code Online (Sandbox Code Playgroud) bad-request google-authentication google-cloud-storage google-cloud-dataflow
我在 Alexa 帐户链接授权方面遇到了一些问题。
这些是我遵循的步骤:
handler_input.request_envelope.context.system.user.access_token问题是访问令牌在一小时后过期,Alexa 不管理令牌的刷新。
我应该怎么做才能避免每次一小时后都要求我的用户登录?我应该Implicit grant用作授权类型吗?我应该以某种方式获得刷新令牌吗?
附加信息:这是一项使用 Python3 连接到 AWS Lambda 的自定义技能
google-api google-authentication alexa alexa-skill alexa-skills-kit
我按照文档中提供的步骤操作:https : //airflow.apache.org/security.html#google-authentication
完成所有步骤并重新启动网络服务器后。我没有看到登录页面有任何区别,它仍然要求我进行密码验证。我不确定如何在网页上获取 google 登录选项。我在网络服务器日志上没有收到任何错误。
Configuration=> airflow.cfg:
authenticate = True
#auth_backend = airflow.contrib.auth.backends.password_auth
auth_backend = airflow.contrib.auth.backends.google_auth
[google]
client_id = <client id>
client_secret = <secret key>
oauth_callback_route = /oauth2callback
domain = <domain_name>.com
Run Code Online (Sandbox Code Playgroud) 看看 Svelte/Sapper,我很好奇将Google Sign-In for Websites 之类的东西添加到我的应用程序的正确方法是什么。
我从他们从上面的站点给你的示例代码中得到了一切,但我已经通过将 onsuccess "onSignIn" 函数添加到 template.html 文件来完成它,这似乎不是正确的方法。
在 src/routes/template.html 里面
<script src="https://apis.google.com/js/platform.js" async defer></script>
<script>
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
console.log("ID: " + profile.getId());
}
</script>
Run Code Online (Sandbox Code Playgroud)
在 src/components/Nav.svelte 里面
<div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div>
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,因为 onSignIn 可以访问窗口,但似乎我应该能够将它添加到按钮本身所在的 Nav 组件。有没有首选的方法来处理这样的事情?
技术:框架:Angular,组件:Ionic,Auth-Service:Firebase,NPM-Module:https : //www.npmjs.com/package/@angular/fire
情况:用户可以通过用户名和密码登录,也可以使用 Google Auth 登录。当用户登录时,一些 cookie 会存储在浏览器中。
按照这里的要求是我用来登录的代码:
登录
loginWithGoogle() {
from(this.authService.logIn())
.pipe(
concatMap(() => this.authService.getAuth().signInWithPopup(new auth.GoogleAuthProvider())),
concatMap(userCredential => this.initStateAndRoute(userCredential)),
)
.subscribe();
}
Run Code Online (Sandbox Code Playgroud)
认证服务
export class AuthService {
constructor(
private fireAuth: AngularFireAuth,
) {
}
getUser(): Observable<firebase.User> {
return this.fireAuth.user;
}
logOut() {
return this.fireAuth.auth.signOut();
}
getAuth() {
return this.fireAuth.auth;
}
logIn() {
return this.fireAuth.auth.setPersistence(firebase.auth.Auth.Persistence.LOCAL);
}
Run Code Online (Sandbox Code Playgroud)
}
Auth-Guard-Service
@Injectable({
providedIn: 'root'
})
export class AuthGuardService implements CanActivate {
constructor( …Run Code Online (Sandbox Code Playgroud) google-authentication firebase firebase-authentication angular
google-api ×2
node.js ×2
access-token ×1
airflow ×1
alexa ×1
alexa-skill ×1
angular ×1
asp.net-mvc ×1
bad-request ×1
c# ×1
express ×1
firebase ×1
google-oauth ×1
nginx ×1
oauth-2.0 ×1
passport.js ×1
svelte ×1