小编dba*_*bau的帖子

Facebook页面访问令牌 - 这些是否过期?

我正在构建一个应用程序,允许用户管理他们的Facebook粉丝页面.这需要以下两个访问令牌:

  1. 用户访问令牌
  2. 页面访问令牌

我对用户访问令牌非常熟悉,但对页面访问令牌却不熟悉.

有人知道页面访问令牌保持有效的时间吗?我在Facebook网站上找到的就是这个简洁的段落,它没有提到任何有关它到期的内容.

我是否可以假设,如果我使用权限请求用户访问令牌,则offline_access页面访问令牌也将无限期地持续(除非用户更改其密码或手动取消授权我的应用程序)?

我问,因为我想知道我应该多久查询一次Facebook Graph API并获取页面访问令牌.我应该在用户注册时简单地请求一次吗?或者,如果他们不断更改,我应该为每个API调用请求一个吗?后者显然更加沉重!

facebook facebook-page facebook-graph-api access-token

71
推荐指数
3
解决办法
4万
查看次数

使用SecureSocial进行播放:在单独的线程池中运行DB IO

我有一个Play 2.2.1应用程序,它使用play-slick 0.5.0.8将数据持久保存到Postgresql后端,而SecureSocial 2.1.2则用于处理用户授权.

由于播放光滑的事务是阻塞的,我slick-context在我的/conf/application.conf文件中创建了一个单独的执行上下文,根据插件的Wiki中的说明:

play {
  akka {
    actor {
      slick-context = {
        fork-join-executor {
          parallelism-min = 300
          parallelism-max = 300
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这允许我创建一个在单独的执行上下文中运行的控制器Action,并且不会阻止默认线程池中的线程.例如./app/controllers/Application.scala:

示例一 - 使用play-slick的DBAction:

import play.api.db.slick._
object Application extends Controller{ 

  // this controller Action won't block threads in the default pool since DBAction uses my separate slick-context execution context
  def recipes = DBAction { implicit rs =>
    val recipes  = Query(Recipes).list …
Run Code Online (Sandbox Code Playgroud)

scala playframework securesocial play-slick playframework-2.2

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

println中的Scala String Interpolation - 使用点表示法访问元素

我有一个user具有一些属性的对象,我可以使用点表示法访问.

例如,user.fullName输出一个String之类的Firstname Lastname.

如何在println使用字符串插值的语句中访问这些属性?

我尝试过以下方法:

println(s"user's full name is $user.fullName")
Run Code Online (Sandbox Code Playgroud)

但是,它似乎不适用于点表示法,只解析整个$user对象,将剩余fullName部分解释为字符串而不是属性.这输出错误:

>>用户的全名是User(...).fullName

以下是我的追求:

>>用户的全名是名字姓氏

帮助赞赏!

syntax scala string-interpolation println

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

Scala/Play 2 - 无法运行样本specs2测试

我在OS X上使用Play Framework v2.04和Scala(通过Homebrew安装).一切都按预期工作,但我似乎无法从Play网站的文档中获得基本的Hello World样本specs2测试.这是我/app/test/example.scala文件中的代码:

import org.specs2.mutable._

import play.api.test._
import play.api.test.Helpers._

class HelloWorldSpec extends Specification {

  "The 'Hello world' string" should {
    "contain 11 characters" in {
      "Hello world" must have size(11)
    }
    "start with 'Hello'" in {
      "Hello world" must startWith("Hello")
    }
    "end with 'world'" in {
      "Hello world" must endWith("world")
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行时play test,我收到以下错误:

[error] /app/test/example.scala:3: object test is not a member of package play.api
Run Code Online (Sandbox Code Playgroud)

AFAIK,测试对象应该是play.api包的成员( …

dependencies scala playframework specs2 playframework-2.0

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