我正在构建一个Alexa技能,它要求我存储用户的userId.我试图用它来检索它event.session.user.userId.但是,当我console.log(event.session.user.userId)按字面意思调用输出时amzn1.ask.account.[unique-value-here].我看了几个类似的问题,但没有一个能为我提供足够明确的答案.
我不确定这是一个错误,仅限开发人员,还是userId只是匿名化.如果是这样,有没有办法获得实际的userId?我想会有,因为亚马逊在这里写了一整个指南:
然而,经过漫长的一天调试后,我不确定什么是真实的,什么不是.
var request = require('request');
var firebase = require('firebase');
var config = {
apiKey: "my-api-key",
authDomain: "stuff...",
databaseURL: "more stuff...",
storageBucket: "even more stuff...",
};
firebase.initializeApp(config);
// Get a reference to the database
var database = firebase.database();
exports.handler = (event, context) => {
try {
// New session
if (event.session.new) {
// New Session
console.log("NEW SESSION");
}
// Launch Request
switch (event.request.type) {
case "LaunchRequest":
var url = "https://api.random.org/json-rpc/1/invoke";
var …Run Code Online (Sandbox Code Playgroud) javascript amazon-web-services alexa aws-lambda alexa-skills-kit
我试图通过提供的TWTRComposer类使用TwitterKit撰写推文.这是我打电话的功能:
-(void) tweet:(UIViewController *) root {
TWTRComposer *composer = [[TWTRComposer alloc] init];
[composer setText:@"just setting up my Twitter Kit"];
// Called from a UIViewController
[composer showFromViewController:root completion:^(TWTRComposerResult result) {
if (result == TWTRComposerResultCancelled) {
NSLog(@"Tweet composition cancelled");
}
else {
NSLog(@"Sending Tweet!");
}
}];
}
Run Code Online (Sandbox Code Playgroud)
这有两个问题:
showFromViewController立即调用方法中的完成块,结果类型为TWTRComposerResultCancelled.我有一种感觉,这可能与Twitter的登录问题有某种关系.我正在处理的应用程序不包括使用Twitter注册/登录.但是,我的印象是TWTRComposer处理所有登录.
任何帮助都非常感谢,谢谢你的阅读!
我正在构建一个Alexa技能,这需要我收听Firebase实时数据库.在技能的一个特定部分,我需要向Firebase编写一个JSON对象,由两个字段组成,"intent",值无关紧要,"done",值为false.
然后,我等待另一个监听此数据库的设备注册此更改,此时它会创建另一个名为"result"的字段,并带有一些数值,并将"done"的值更改为true.
然后原始函数(test1)应该识别"完成"的值何时为真,然后检索"结果"的值.
我遇到的问题是提出一个函数,它在我的主(异步)函数完成之前完成所有这些读/写操作.正如标题所示,AWS Lambda由于某种原因超时,我无法读取"结果"的值.
这是我正在使用的功能:
function test1(intentName, targetRef, context) {
console.log("writing");
targetRef.set({
intent: intentName,
done: false
}).then(function() {
return targetRef.orderByChild("done").equalTo(true).on("value");
}).then(function(snapshot) {
var res = snapshot.val().result;
console.log("Res: " + res);
context.succeed( //context.succeed should be called after "result" has a value.
generateResponse(
buildSpeechletReponse("The result is" + processNumbersForSpeech(res), true),
{}
)
);
});
}
Run Code Online (Sandbox Code Playgroud)
这是控制台的输出(在AWS Lambda中):
?
20:05:31
START RequestId: a25d2354-d9cb-11e6-b80a-f35142a5f45f Version: $LATEST
20:05:31
2017-01-13T20:05:31.464Z a25d2354-d9cb-11e6-b80a-f35142a5f45f writing
?
20:05:35
END RequestId: a25d2354-d9cb-11e6-b80a-f35142a5f45f
?
20:05:35
REPORT RequestId: a25d2354-d9cb-11e6-b80a-f35142a5f45f …Run Code Online (Sandbox Code Playgroud) javascript amazon-web-services firebase aws-lambda firebase-realtime-database
正如标题所示,我正在尝试向应用程序导航抽屉中的项目添加长按功能。这些项目是动态添加的(不是从 navigation_drawer_menu.xml 膨胀的),因此我无法通过在 xml 文件中指定某些属性来解决这个问题。
我查看了 Stackoverflow 上的几个问题,特别是这个问题:How to set a long click Listener on a MenuItem (on a NavigationView)? 。我已经实现了 setActionView 解决方案,但最终在导航抽屉项的右侧边缘出现了一个空白按钮。当我长按文本时,没有任何反应。当我长按空白小按钮时,我得到了我想要的东西。
如何为整个 menuItem 设置 OnLongClickListener,而不仅仅是其右侧的(我假设它是一个按钮)?感谢您的阅读,如果需要更多信息,我很乐意为您提供帮助:)
我正面临着一个似乎常见的问题,然而,我真的无法弄清楚如何解决它.
我正在调用函数发出一个GET请求,解析返回的JSON,然后(据说)返回一个Promise,我用它来打印解析的JSON数据.但是,当我尝试这样做时,我收到了这个问题标题中描述的错误.我有两个文件,我正在使用.第一个简单地从第二个函数调用一个函数,并尝试打印返回值(并获取错误).
第一档:
var secondFile = require('./test');
secondFile.testFunc("some stuff").then(function(res) {
console.log(res);
})
Run Code Online (Sandbox Code Playgroud)
第二个文件(test.js):
module.exports = {
testFunc : function(address) {
var params = {
q: address,
format: "json"
}
var baseUrl = "http://google.com";
rp({url: baseUrl,
qs: params,
method: "GET"})
.then(function(body) {
var parsedBody = JSON.parse(body);
var result = {one: parsedBody[0], two: parseBody[1]};
return new Promise(function(resolve, reject) {
resolve(result);
});
}).catch(function(err) {
console.log(err);
});
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏.
javascript ×3
aws-lambda ×2
alexa ×1
android ×1
asynchronous ×1
firebase ×1
ios ×1
java ×1
menuitem ×1
navigation ×1
node.js ×1
promise ×1
tweets ×1
twitter ×1
twitterkit ×1