小编Vla*_*sec的帖子

facebook:永久页面访问令牌?

我正在开发一个将facebook页面作为其数据源之一的项目.它定期从中导入一些数据,不涉及GUI.然后我们使用Web应用程序显示我们已有的数据.

并非所有信息都是公开的.这意味着我必须访问一次数据然后保留它.但是,我不知道这个过程,我还没有找到一个很好的教程.我想我需要一个access_token,如何从用户那里逐步获得它?用户是Facebook页面的管理员,他是否必须在页面中添加一些我们的FB应用程序?

编辑:谢谢@phwd的提示.我做了一个教程,如何获得永久页面访问令牌,即使offline_access不再存在.

编辑:我刚刚发现它的回答:持久的FB访问令牌服务器拉FB页面信息

facebook facebook-graph-api facebook-access-token

184
推荐指数
8
解决办法
17万
查看次数

杰克逊+建筑师模式?

我希望Jackson使用以下构造函数反序列化一个类:

public Clinic(String name, Address address)
Run Code Online (Sandbox Code Playgroud)

反序列化第一个参数很容易.问题是地址被定义为:

public class Address {
  private Address(Map<LocationType, String> components)
  ...

  public static class Builder {
    public Builder setCity(String value);
    public Builder setCountry(String value);
    public Address create();
  }
}
Run Code Online (Sandbox Code Playgroud)

并构造如下: new Address.Builder().setCity("foo").setCountry("bar").create();

有没有办法从杰克逊获得键值对,以便自己构建地址?或者,有没有办法让杰克逊使用Builder类本身?

java json jersey jackson

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

修改getter的结果会影响对象本身吗?

我有一个关于在java中使用getter方法的问题.假设我有这个课程:

class Test {
    private ArrayList<String> array = new ArrayList<String>();

    public ArrayList getArray() {
        return this.array;
    }

    public void initArray() {
        array.add("Test 1");
        array.add("Test 2");
    }
}

class Start {
    public static void main(String args[]) {
        initArray();
        getArray().remove(0);
    }
} 
Run Code Online (Sandbox Code Playgroud)

我的问题是:

是否会修改实际的arraylist对象(从中删除"Test 1")?我想我已经在某些地方看过这个,但我认为吸气剂只是提供了该物体的副本.不是对它的引用.如果它确实以这种方式工作(作为参考),那么这也会起作用(类Test的arraylist对象也会被这个改变)吗?:

class Start {
    public static void main(String args[]) {
        initArray();
        ArrayList aVar = getArray();
        aVar.remove(0);
    }
} 
Run Code Online (Sandbox Code Playgroud)

java arraylist getter-setter

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

通过添加元素修改当前列表 - Haskell 101

我想在一个Director名为的数据类型变量的"movies"列表中添加一个元素billy.

type Name  = String
type Movie = String
data Director = Director {name:: Name, movies::[Movie]}
    deriving (Show)
let billy = Director "Billy J." ["Good movie 1"]

--addMovieToDirector :: Movie -> Director -> Director
addMovieToDirector m (Director n ms) = Director n (m:ms)
Run Code Online (Sandbox Code Playgroud)

问题是之前的功能没有更新比利的电影列表,它创建了一个Director带有所需列表的新内容(更改不存储在比利上).如何在不创建另一个的情况下操作比利的列表Director?我明白,Haskell使用常量,但是每次修改列表时我应该创建一个不同的'billy'"变量"吗?

谢谢!

haskell list immutability

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

与类的静态成员的泛型混淆

以下代码对我来说非常困惑.

public class Test<T> {
  public static <T> Test<T> ok(T result) {
  ..
Run Code Online (Sandbox Code Playgroud)

我理解班级名称中的泛型.我能理解"ok"方法是否会像这样

public static Test<T> ok(T result) {
Run Code Online (Sandbox Code Playgroud)

或这个

public static T ok(T result) {
Run Code Online (Sandbox Code Playgroud)

但是为什么在Test <T>返回类型之前有额外的<T>我不明白.

java generics

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