小编Har*_*dha的帖子

Google云端硬盘选择器 - 开发人员密钥无效错误

我开始学习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)

javascript google-drive-api google-picker

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

CloudFront 如何从 S3 在现有分发服务网站上设置反向代理

我有一个 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

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

busboy没有解雇完成事件

我试图将路由中的请求对象传递给处理上传的控制器,

这是路线 -

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)

javascript node.js express

6
推荐指数
2
解决办法
3770
查看次数

如何在express.js node.js中设置X-Frame-Options

我有一些静态资产,我想在几个桌面/移动网络客户端的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标题 -

javascript embed iframe node.js express

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

我可以在 Unity 中编辑或提取资源包的内容吗?

我有一个 Unity assetbundle。我在这些文件和一些数据库文件中还有更多捆绑包。有没有一种简单的方法来编辑或提取资源包的内容。

android unity-game-engine assetbundle

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

如何在Shell脚本中进行异步函数调用

我有一个由shell脚本执行的curl命令集合。现在我想要的是所有这些命令都必须在固定的时间间隔内执行(每个curl URL都不同),所以我要做的是异步调用

wait [sec]

命令并在不同的等待时间执行不同的功能,例如

启动5个计时器,一个120秒,2个30秒,3个3000秒等,然后一旦它们完成,我想触发附加到每个超时的处理程序函数的执行。我可以使用javascript和nodejs轻松完成此操作,因为它们是事件驱动的编程语言。但是我对shell脚本知之甚少。那么,我还可以如何实现此目标或在shell脚本中进行此类异步调用呢?我不知道我是否足够清楚,如果我不够清楚,我还应该提到其他哪些细节?

bash shell curl asynchronous

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

Javascript中基本原型的问题

我是一个新的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)

但这些方法似乎没有解决.... :(

javascript arrays prototype object

4
推荐指数
2
解决办法
99
查看次数

moodle数据根位置不安全错误

我读了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上指定

但是当我运行自动安装程序脚本时,它仍然说数据根目录不安全

.htaccess moodle

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

使用angularjs routeprovider的护照facebook认证

我有一个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查看它们

javascript authentication facebook node.js angularjs

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

硬刷新浏览器页面,然后使用javascript重定向到url

我正在尝试重新加载页面并将其重定向到另一个页面,或者只是将其重定向到另一个页面,但是我不能这样做

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)

有什么办法吗?

javascript browser reload angularjs

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

Express js为目录中的所有静态文件获取404

为了方便我的静态文件,我有多个目录。我的一些静态文件在客户端目录中,一些与仪表板相关的文件在 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 …

javascript routes http-status-code-404 express angularjs

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

mognoose在多列中使用正则表达式进行搜索

我有一个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数组中搜索匹配的字符串

regex mongoose node.js

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

Strongloop loopback如何为新用户分配静态角色

我克隆了一个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)

authorization roles angularjs strongloop loopbackjs

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