这是我第一次尝试创建Google电子表格脚本.我正在关注本教程:https: //developers.google.com/apps-script/articles/docslist_tutorial#section2
我无法加载csv,我正在尝试调试.
我找到了一个博客文章说:
...您可以通过单击行号在任何代码行上设置断点.然后,只需使用"bug"工具栏图标而不是通常的"播放"按钮运行脚本,脚本将仅运行到第一个断点.
但是,工具栏中的调试图标按钮显示为灰色.
有关如何启用此功能的任何建议?谷歌搜索没有任何结果.我使用的是Google Chrome版本26.0.1410.43.
我想我只是做了一件愚蠢的事情,但我无法弄清楚这一点。
我正在使用 GWT,并且有一个提交按钮,其中提交通过 REST API 将一些信息发送到远程服务器。问题是,您可以在操作完成时多次单击“提交”,并发布多个帖子。
我尝试过添加
sendButton.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)
到点击处理程序,但它似乎不起作用。该按钮保持启用状态,我仍然可以根据需要多次单击它,从而生成多个帖子。有人能看到我做错了什么吗?完整代码如下。
public class HelpDeskTest implements EntryPoint {
private final HelpDeskTestServiceAsync helpDeskTest= GWT.create (HelpDeskTestService.class);
final Button sendButton = new Button("Submit");
final TextBox nameField = new TextBox();
final Label errorLabel = new Label();
final TextBox subjectField = new TextBox();
final TextArea descriptionField= new TextArea();
/**
* This is the entry point method.
*/
public void onModuleLoad() {
// We can add style names to widgets
//sendButton.addStyleName("sendButton");
// Add the nameField and sendButton to the …Run Code Online (Sandbox Code Playgroud) 我有一个13维日期的维度数组,我想把它放在电子表格行中.
当我调试这段代码时:
if (arrDates.length > 0) {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var destSheet = spreadsheet.getSheetByName("Employee Capacity Detail");
destSheet.getRange("C2").offset(0,0,arrDates.length).setValues(arrDates);
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:"无法转换(类)@ 7c02952c到Object [] []." 在这条线上:
destSheet.getRange("C2").offset(0,0,arrDates.length).setValues(arrDates);
Run Code Online (Sandbox Code Playgroud)
我也试过这个:
destSheet.getRange(1, 3, 1, 14).setValues(arrDates);
Run Code Online (Sandbox Code Playgroud)
还有这个:
var destRange = destSheet.getRange("C2:P2");
destRange.setValues(arrDates);
Run Code Online (Sandbox Code Playgroud)
并得到相同的错误.
在调试器中,我可以看到arrDates按预期填充了14个日期.
谷歌搜索此错误消息没有出现任何问题.有没有人对我收到此错误的原因有什么想法,或者我可能会做些什么来进一步排除故障?
我正在玩这个从Twitter获取数据的Google Web工具包/ GSON示例.
一切都编译得很好,但是当我作为Web应用程序调试时,一切都加载得很好,但当我点击"搜索"按钮时,我收到以下错误:
严重:javax.servlet.ServletContext日志:调度传入RPC调用时发生异常com.google.gwt.user.server.rpc.UnexpectedException:服务方法'public abstract java.util.List com.google.gwt.twittersearch.client.TwitterService .searchTweets(java.lang.String)抛出java.io.IOException,java.lang.IllegalArgumentException'引发了一个意外的异常:java.lang.RuntimeException:无法为类com.google.gwt.twittersearch调用no-args构造函数. server.TwitterServiceImpl $ SearchResponse.使用Gson为此类型注册InstanceCreator可以解决此问题.com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)com.google .gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208),位于com.google.gwt.user的com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) .server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)在javax.servlet.http.HttpServlet.service(HttpServlet.java:637)的javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)位于com.google.appengine.tools.development的org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1166). HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)位于com.google.appengine.api.blobstore.dev.ServeBl的org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)obFilter.doFilter(ServeBlobFilter.java:60)atg.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: 43)在org.mortbay.jetty的com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)的org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)位于org.mortbay.jetty.servlet.ServletHandler的com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)的.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)$ CachedChain.doFilter (ServletHandler.java:1157)org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)位于org.mortbay的org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216). orm.mortbay.jetty.handler.ContextHandler.handle中的jetty.servlet.SessionHandler.handle(SessionHandler.java:182)Handler.java:765)位于org.mortbay的com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:94)的org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)位于org.mortbay.jetty.handler.HandlerWrapper.handle的com.google.appengine.tools.development.JettyContainerService $ ApiProxyHandler.handle(JettyContainerService.java:370)上的.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) (HandlerWrapper.java:152)org.mortbay.jetty.Server.handle(Server.java:326)org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)atg.mortbay.jetty.HttpConnection $在Org.mortbay.jet的org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)org.mortbay.jet的org.mortbay.jet.HttpParser.parseAvailable(HttpParser.java:218)上的RequestHandler.content(HttpConnection.java:938) .httpConnection.handle(HttpConnection.java:404)位于org.mortbay.thread.QueuedThreadPool的org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)$ PoolThread.run(QueuedThreadPool.java:582)引起:java.lang.RuntimeException:无法为类com.google.gwt.twittersearch.server.TwitterServiceImpl $ SearchResponse调用no-args构造函数.使用Gson为此类型注册InstanceCreator可以解决此问题.com.google.gson.internal.ConstructorConstructor $ 8.construct(ConstructorConstructor.java:167)位于com.google.gson的com.google.gson.internal.bind.ReflectiveTypeAdapterFactory $ Adapter.read(ReflectiveTypeAdapterFactory.java:162).来自com.google.gwt.twittersearch.server.TwitterServiceImpl.parseSearchResponse(TwitterServiceImpl.java:80)的com.google.gson.Gson.fromJson(Gson.java:734)的Gson.fromJson(Gson.java:795)位于sun.reflect的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)的sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method).google.gwt.twittersearch.server.TwitterServiceImpl.searchTweets(TwitterServiceImpl.java:35) .delegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java) :115)com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)... 34更多引起:java.lang.Unsupp ortedOperationException:无法在com.google.gson.internal.ConstructorConstructor $ 8的com.google.gson.internal.UnsafeAllocator $ 4.newInstance(UnsafeAllocator.java:100)中分配com.google.gwt.twittersearch.server.TwitterServiceImpl $ SearchResponse类. construct(ConstructorConstructor.java:164)......还有45个
这是TwitterServiceImpl代码:
package com.google.gwt.twittersearch.server;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.List;
import com.google.gwt.twittersearch.client.Tweet;
import com.google.gwt.twittersearch.client.TwitterService;
import …Run Code Online (Sandbox Code Playgroud) 我正在使用HttpURLConnection发布到REST API.我还没有成功发布任何内容,所以我试图找回应该来自API的XML响应.
以下是我汇总的代码部分,它给出了我的问题:
// Process response - need to get XML response back.
InputStream stream = connection.getInputStream();
connection.disconnect();
BufferedReader br = new BufferedReader(stream);
String result;
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
result += line;
}
br.close();
Run Code Online (Sandbox Code Playgroud)
编译器对此行不满意(建议的修复方法是"将流类型更改为读者"):
BufferedReader br = new BufferedReader(stream);
Run Code Online (Sandbox Code Playgroud)
有没有人对我如何正确地做这个有任何建议?任何帮助赞赏.
完整代码在这里:
package com.gwt.HelpDeskTest.server;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.gwt.HelpDeskTest.client.HelpDeskTestService;
import com.gwt.HelpDeskTest.shared.HelpDeskTestException;
@SuppressWarnings("serial")
public class HelpDeskTestImpl …Run Code Online (Sandbox Code Playgroud)