我尝试在节点应用中通过Twitter启用oauth2登录。我有我的Twitter帐户,我被列入电子邮件白名单,已经更改了Twitter开发页面上的设置(这样在登录时,用户会被告知我的应用程序可以访问他们的电子邮件)。
但是用户对象仍然不包含电子邮件条目。电子邮件是不同的请求,还是我错过了什么?我将服务器代码放在下面,并且可以根据需要启动Web服务器,以防任何人想要查看控制台输出。
我的server.js中的相关代码:
#!/bin/sh
tmpf=/tmp/xlmanip$$a.lisp
cat >${tmpf} <<__EOF__
(proclaim '(optimize speed space))
;;; SBCL:Muffle compiler-notes
#+sbcl (declaim (sb-ext:muffle-conditions sb-ext:compiler-note))
(ql:quickload :xlmanip/tests)
(time (asdf:oos 'asdf:test-op :xlmanip))
(quit)
__EOF__
trap "rm -f ${tmpf}" 0 1 2 3 15
if test "x${CL_LISPS}" = x; then
CL_LISPS="sbcl ccl clisp ecl"
fi
for l in $CL_LISPS; do
echo "\n======== $l ========\n"
cl-launch --lisp $l --execute --quicklisp --init '(load "'"${tmpf}"'")'
done
答案 0 :(得分:0)
SO!这个电话确实不同。对API的verify_credentials调用需要一些可选的参数。请参阅doc页面:
https://dev.twitter.com/rest/reference/get/account/verify_credentials
要检索用户电子邮件,请在您的网址中添加include_email = true参数。要使用node-twitter-api模块执行此操作:
var params = {
'include_email' : true
};
twitter.verifyCredentials(accessToken, accessSecret, params, function(err, user)
该模块接受一个字典,并将键值对解析为URL参数,并为您添加它们。
EASY!