我开始学习Google Drive Picker API并从我开始localhost(我已经为域创建了我的客户端ID和浏览器密钥http://localhost/,我的文件位置是localhost/ch1.html等.
这是我在文档的正文部分写的脚本:
<script type="text/javascript" src="https://apis.google.com/js/api.js?onload=onApiLoad"></script>
<script>
function onApiLoad(){
gapi.load('auth',{'callback':onAuthApiLoad});
gapi.load('picker');
}
function onAuthApiLoad(){
window.gapi.auth.authorize({
'client_id':'545195528713-tihc7u0hp9ihta5mrm4l0eon16fpjogi.apps.googleusercontent.com',
'scope':['https://www.googleapis.com/auth/drive']
},handleAuthResult);
}
var oauthToken;
function handleAuthResult(authResult){
if(authResult && !authResult.error){
oauthToken = authResult.access_token;
createPicker();
}
}
function createPicker(){
var picker = new google.picker.PickerBuilder()
.addView(new google.picker.DocsUploadView())
.addView(new google.picker.DocsView())
.setOAuthToken(oauthToken)
.setDeveloperKey('AIzaSyB3I3JOepScrZgySA9tBWL9pXAUaLJ-NFg')
.build();
picker.setVisible(true);
}
</script>
Run Code Online (Sandbox Code Playgroud)
但是,当我运行该文档时,它什么都没显示.是不是我不能使用驱动器api localhost或我将不得不使用一些按钮来调用它或类似的东西请帮助.
测试示例 -
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Picker Example</title>
<script type="text/javascript" src="https://apis.google.com/js/api.js?onload=onApiLoad"></script>
<script>
function onApiLoad(){
gapi.load('auth',{'callback':onAuthApiLoad});
gapi.load('picker'); …Run Code Online (Sandbox Code Playgroud) 我有一个 S3 存储桶,它托管一个网站并随 CloudFront 一起提供
现在我已将发行版附加到我的顶点根域中,例如 - www.xyz.com
因此,以前我们使用 Nginx 从同一域上的网络服务器根目录提供静态前端 - www.xyz.com 并且还设置了一个反向代理 - www.xyz.com/api/** 将流量路由到上游后端服务器在同一台机器上。
现在,我想将网站移至 S3,但仍在同一台机器上运行后端 API,为此我必须更改我的 DNS 记录并将它们指向 CloudFront 分配。
但是,然后使用 www.xyz.com/api 作为后端服务的现有和以前部署和运行的服务将中断所以,我想将此路径模式上的所有请求转发到 http:///api 以便现有应用程序不不破。
有没有办法实现这一目标?IE -
从 CloudFront 分发的子路径转发请求,将静态前端从 S3 传送到外部应用程序服务器?
---更新--- ---Nginx conf 重定向请求---
location /api/ {
proxy_pass http://localhost:4040/api/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_http_version 1.1;
}
Run Code Online (Sandbox Code Playgroud)
这是在服务器指令中,该指令当前向世界公开根域和前端,但现在我想将前端迁移到 S3,因此仅出于兼容性目的保留此位置块 /api,直到我更新所有客户端上的配置。
如果是这样,请建议如何完成此操作,或者您需要我方提供哪些信息来帮助完成此操作?
谢谢,
reverse-proxy nginx http-redirect amazon-web-services amazon-cloudfront
我试图将路由中的请求对象传递给处理上传的控制器,
这是路线 -
app.post('/upload/notes',auth.requiresApiLogin,function(req,res){
upload.file(req,res);
});
Run Code Online (Sandbox Code Playgroud)
这是控制器(upload.js)代码,它具有导出的文件方法
var fs = require('fs'),
uuid = require('node-uuid'),
path = require('path'),
Busboy = require('busboy');
exports.file = function(req, res) {
var busboy = new Busboy({ headers: req.headers});
busboy.on('file', function(fieldname, file, filename,transferEncoding,mimeType) {
console.log("inside upload function");
console.log(file);
});
busboy.on('field', function(fieldname, val, valTruncated,keyTruncated) {
console.log("inside field function");
console.log(fieldname);
});
busboy.on('finish',function(){
console.log('finished');
});
req.pipe(busboy);
//
// req.pipe(req.busboy);
// req.busboy.on('file', function(fieldname, file, filename,transferEncoding,mimeType) {
// var fName = uuid.v4();
// console.log(filename);
// var fileext = filename.substr(filename.lastIndexOf('.') + 1);
// …Run Code Online (Sandbox Code Playgroud) 我有一些静态资产,我想在几个桌面/移动网络客户端的iframe中提供服务.
现在,如何将特定的一组来源列入白名单以允许设置X-Frame-Options标头,以便可以将资源作为iframe嵌入到不同的桌面/移动Web客户端中.并且对于所有其他来源,拒绝访问此资源.
经过一番挖掘,我开始用 -
const app = express();
var allowCrossDomain = function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With, Authorization');
if (req.method === "OPTIONS") res.send(200);
else next();
}
app.use(allowCrossDomain);
Run Code Online (Sandbox Code Playgroud)
现在,我在这里如何设置带有白名单原点值的X-Frame-Options标题 -
我有一个 Unity assetbundle。我在这些文件和一些数据库文件中还有更多捆绑包。有没有一种简单的方法来编辑或提取资源包的内容。
我有一个由shell脚本执行的curl命令集合。现在我想要的是所有这些命令都必须在固定的时间间隔内执行(每个curl URL都不同),所以我要做的是异步调用
wait [sec]
命令并在不同的等待时间执行不同的功能,例如
启动5个计时器,一个120秒,2个30秒,3个3000秒等,然后一旦它们完成,我想触发附加到每个超时的处理程序函数的执行。我可以使用javascript和nodejs轻松完成此操作,因为它们是事件驱动的编程语言。但是我对shell脚本知之甚少。那么,我还可以如何实现此目标或在shell脚本中进行此类异步调用呢?我不知道我是否足够清楚,如果我不够清楚,我还应该提到其他哪些细节?
我是一个新的javascript和我开始在我坚持一些基础知识的东西,事情是我试图创建一个对象的原型,然后在数组中创建对象的引用,然后访问他们的方法,但我我错了,任何人都可以帮我这个,我在做什么在这里显示: -
function Obj(n){
var name=n;
}
Obj.prototype.disp = function(){
alert(this.name);
};
var l1=new Obj("one");
var l2=new Obj("two");
var lessons=[l1,l2];
//lessons[0].disp();
//alert(lessons[0].name);
Run Code Online (Sandbox Code Playgroud)
但这些方法似乎没有解决.... :(
我读了moodles文档,它说如果数据根目录必须在网站的公共html文件夹中(请注意我不能在它之外创建它,因为我没有足够的权限,因为我使用的是免费帐户).然后你必须chmod到770并使用htaccess来保护它.现在我在我的域中创建moodle文件夹/ moodle /并且moodle上传文件夹是/ moodle-uploads/uploads /我在/moodle-uploads/.htaccess中设置了.htaccess,其内容是
order deny,allow
deny from all
Run Code Online (Sandbox Code Playgroud)
在http://docs.moodle.org/20/en/Creating_Moodle_site_data_directory上指定
但是当我运行自动安装程序脚本时,它仍然说数据根目录不安全
我有一个angularjs和node,expressjs应用程序.我在哪里尝试实施facebook登录(护照).但这里的问题是我试过的时候 -
app.get('/auth/facebook',passport.authenticate('facebook'));
app.get('/auth/facebook/callback',passport.authenticate('facebook',
{
successRedirect: '/profile',
failureRedirect: '/'
}));
Run Code Online (Sandbox Code Playgroud)
配置如下 -
passport.use(new FacebookStrategy({
clientID: 'xxxx',
clientSecret: 'xxxx',
callbackURL:'http://campustop.in/auth/facebook/callback'
},
function(accessToken,refreshToken,profile,done){
console.log(profile);
}
));
Run Code Online (Sandbox Code Playgroud)
所以,这里的问题是在我的客户端,如果我尝试 -
<a href="/auth/facebook">Login with Facebook</a>
Run Code Online (Sandbox Code Playgroud)
然后angularjs $ routeProvider首先捕获此路由并显示空白布局,因为没有使用此URL指定模板或控制器.所以,这个链接永远不会到达我在服务器中的快速路由配置中的路由功能.但是,当我直接在浏览器中打开此URL时,它会到达服务器,但之后它不会被重定向到任何页面.它只是停留在那里,网络选项卡中显示以下响应 -
Request URL:https://www.facebook.com/dialog/oauth?response_type=code&redirect_uri=http%3A%2F%2Fcampustop.in%2Fauth%2Ffacebook%2Fcallback&client_id=1440645942863962
Status Code:302 forced.302
Run Code Online (Sandbox Code Playgroud)
和网络选项卡中的一些响应标头.您可以访问http://campustop.in/auth/facebook查看它们
我正在尝试重新加载页面并将其重定向到另一个页面,或者只是将其重定向到另一个页面,但是我不能这样做
window.location.href
Run Code Online (Sandbox Code Playgroud)
要么
windown.location
Run Code Online (Sandbox Code Playgroud)
因为我有一个Angular Single Page应用程序,它可以捕获路线,而不是重新加载页面即可直接打开部分
我确实尝试过-
window.location.reload(true)
Run Code Online (Sandbox Code Playgroud)
但它会重新加载页面,并且无法更改我也尝试过的网址-
window.location.assign
Run Code Online (Sandbox Code Playgroud)
和
window.location.replace
Run Code Online (Sandbox Code Playgroud)
有什么办法吗?
为了方便我的静态文件,我有多个目录。我的一些静态文件在客户端目录中,一些与仪表板相关的文件在 src 目录中,所以现在我的目录结构如下
/
|
client //static files and other stuff
server //server side express, app, controller, models etc
src //other static files
Run Code Online (Sandbox Code Playgroud)
我有两个角度应用程序,一个在客户端文件夹中,另一个在 src 文件夹中,我的服务器端路由如下 -
app.route('/app/dashboard-v1').get(function(req,res){
res.sendFile(path.join(__dirname, '../src', 'index.html'));
});
// All undefined asset or api routes should return a 404
app.route('/:url(api|img|src|auth|components|app|bower_components|assets)/*')
.get(errors[404]);
// All other routes should redirect to the index.html
app.route('/*')
.get(function (req, res) {
res.sendFile(path.resolve(app.get('appPath') + '/index.html'));
});
Run Code Online (Sandbox Code Playgroud)
所以我的第一个 angular 应用程序在 app/dashboard-v1 中,所有其他 url 都重定向到 app2
我正确地获取了我的 app2 中的所有文件,但我的第二个应用程序中的所有其他文件都得到了 404。现在如果我注释掉
// app.route('/:url(api|img|src|auth|components|app|bower_components|assets)/*')
.get(errors[404]);
Run Code Online (Sandbox Code Playgroud)
我从第一个应用程序的所有文件中的第二个应用程序中获取我的 index.html …
我有一个mongoose模型,模式定义为 -
var campusNotesSchema = mongoose.Schema({
noteId:{type:String, unique:true, default: uuid.v4()},
title: {type:String, required:'{PATH} is required!'},
uploader:{type:String,required:'{PATH} is required!'},
department:{type:String},
college:{type:String},
author:{type:String,required:'{PATH} is required!'},
actualFileName: [String],
storedFileName: [String],
subject: {type:String},
description: {type:String},
details: {type:String},
date: {type:Date, default: Date},
tags: [String]
});
Run Code Online (Sandbox Code Playgroud)
而模型定义为 -
var Campusnotes = mongoose.model('Campusnotes', campusNotesSchema);
Run Code Online (Sandbox Code Playgroud)
现在我想从请求对象参数中搜索标题,标签,描述字段
if(req.query.searchText){
Campusnotes.find({title:new RegExp(searchText,'i'),description:new RegExp(searchText,'i')}).exec(function(err, collection) {
res.send(collection);
})
}
Run Code Online (Sandbox Code Playgroud)
现在我如何确保在标题或描述中找到该术语的任何结果也包括在内,而不仅仅包括两者中的结果.另外,我如何在tags数组中搜索匹配的字符串
我克隆了一个https://github.com/beeman/loopback-angular-admin
,我使用环回资源管理器创建了几个新角色,但是如何为我创建的用户分配角色
我有一个用户模型,它在环回中从User模型扩展而且模型文件是这样的 -
{
"name": "user",
"plural": "users",
"base": "User",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {},
"validations": [],
"relations": {
"accessTokens": {
"type": "hasMany",
"model": "accessToken",
"foreignKey": "userId"
},
"identities": {
"type": "hasMany",
"model": "userIdentity",
"foreignKey": "userId"
},
"credentials": {
"type": "hasMany",
"model": "userCredential",
"foreignKey": "userId"
},
"roles": {
"type": "hasMany",
"model": "Role",
"foreignKey": "principalId",
"through": "RoleMapping"
}
},
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "admin",
"permission": "ALLOW"
},
{
"accessType": "READ",
"principalType": …Run Code Online (Sandbox Code Playgroud) javascript ×7
angularjs ×4
node.js ×4
express ×3
.htaccess ×1
android ×1
arrays ×1
assetbundle ×1
asynchronous ×1
bash ×1
browser ×1
curl ×1
embed ×1
facebook ×1
iframe ×1
loopbackjs ×1
mongoose ×1
moodle ×1
nginx ×1
object ×1
prototype ×1
regex ×1
reload ×1
roles ×1
routes ×1
shell ×1
strongloop ×1