我正在开发一个将facebook页面作为其数据源之一的项目.它定期从中导入一些数据,不涉及GUI.然后我们使用Web应用程序显示我们已有的数据.
并非所有信息都是公开的.这意味着我必须访问一次数据然后保留它.但是,我不知道这个过程,我还没有找到一个很好的教程.我想我需要一个access_token,如何从用户那里逐步获得它?用户是Facebook页面的管理员,他是否必须在页面中添加一些我们的FB应用程序?
编辑:谢谢@phwd的提示.我做了一个教程,如何获得永久页面访问令牌,即使offline_access不再存在.
编辑:我刚刚发现它的回答:持久的FB访问令牌服务器拉FB页面信息
我希望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中使用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) 我想在一个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'"变量"吗?
谢谢!
以下代码对我来说非常困惑.
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>我不明白.