我想使用适用于 JavaScript的Google 客户端库从本地主机(WAMP 环境)到Google FusionTables API(以及一些其他 API)进行JSON-RPC调用
gapi.load('client:auth2', initAuth);gapi.auth2.init(params)
功能失败(原因){
控制台日志(原因);
}
gapi.load('client:auth2', initAuth);
函数 initAuth() {
var APIkey = '我的 API 密钥';
gapi.client.setApiKey(APIkey); //我理解这对于授权请求是不必要的,包括只是为了更好的衡量
var GDTSAKey = '我的服务帐户密钥';
var scopes = 'https://www.googleapis.com/auth/fusiontables';
gapi.auth2.init({
client_id: "101397488004556049686",
范围:'https://www.googleapis.com/auth/fusiontables'
}).then(signin, failed("无法启动"));
//将下载的 JSON 对象逐字作为参数传递给 init 也不起作用
} //initAuth() … 我有一个向量和在plane.h中声明的对象:
extern Plane Default;
extern std::vector<Plane *>universe;
Run Code Online (Sandbox Code Playgroud)
它们在plane.cpp中定义:
Plane Default("Default");
std::vector<Plane *>universe;
Run Code Online (Sandbox Code Playgroud)
平面构造函数:
Plane::Plane(const std::string &label) {
/* check universe to ensure uniqueness */
std::cout << this << std:endl; //DEBUG CHECK to see what I push_back
universe.push_back(this); //ACTION to keep track of the planes
std::cout << universe.back() << std::endl; //DEBUG CHECK to ensure that it was stored correctly
}
Run Code Online (Sandbox Code Playgroud)
输出确认平面确实存储在矢量中.
主要:
if(universe.empty()) cout << "EMPTY UNIVERSE" << endl;
Run Code Online (Sandbox Code Playgroud)
表明向量没有保留该值.我期望Default(在plane.cpp中定义)存储在Universe中.
但是,当我从main实例化平面时,Universe会保留这些值
我想这与本地副本,范围和值传递有关,但我无法找到一种方法来实例化实现中的默认平面,以便其地址保留在向量中.
我也尝试从堆中声明向量,如下所示:
extern std::vector<Plane *> *universe;
Run Code Online (Sandbox Code Playgroud)
并定义如下:
std::vector<Plane *> …Run Code Online (Sandbox Code Playgroud)