如何解决无法从API检索信息初学者程序员
首先,我不是开发人员,这是我第一次为这种复杂性编写代码(至少对我而言)。任何帮助/指导将不胜感激。
该程序的目的是在输入名称后从API URL中检索员工用户ID(或签名)。
-
我创建了一个名为WebAPI的文件夹,该文件夹将访问API并检索所需的信息。 (请参见代码)
08-12 18:40:27.528 25856 25856 E AndroidRuntime: com.facebook.react.bridge.NoSuchKeyException: label 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at com.facebook.react.bridge.ReadableNativeMap.getNullableValue(ReadableNativeMap.java:123) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at com.facebook.react.bridge.ReadableNativeMap.getNullableValue(ReadableNativeMap.java:127) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at com.facebook.react.bridge.ReadableNativeMap.getString(ReadableNativeMap.java:162) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at com.reactnativecommunity.picker.ReactPickerManager$ReactPickerAdapter.getView(ReactPickerManager.java:146) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at com.reactnativecommunity.picker.ReactPickerManager$ReactPickerAdapter.getView(ReactPickerManager.java:127) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:204) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at android.widget.Spinner.onMeasure(Spinner.java:602) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at androidx.appcompat.widget.AppCompatSpinner.onMeasure(AppCompatSpinner.java:428) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at android.view.View.measure(View.java:23355) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at com.reactnativecommunity.picker.ReactPicker$2.run(ReactPicker.java:76) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:873) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6898) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537) 08-12 18:40:27.528 25856 25856 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: FATAL EXCEPTION: main 08-12 18:40:46.297 26173 26173 E AndroidRuntime: Process: com.linkmood.app,PID: 26173 08-12 18:40:46.297 26173 26173 E AndroidRuntime: java.lang.RuntimeException: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:8081 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.topbar.button.IconResolver$1.onError(IconResolver.java:35) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.utils.ImageLoader.loadIcon(ImageLoader.kt:46) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.topbar.button.IconResolver.resolve(IconResolver.java:27) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.topbar.button.ButtonPresenter.loadIcon(ButtonPresenter.kt:121) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.topbar.button.ButtonPresenter.applyIcon(ButtonPresenter.kt:74) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.topbar.button.ButtonPresenter.applyOptions(ButtonPresenter.kt:43) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.topbar.button.ButtonController.addToMenu(ButtonController.kt:82) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.topbar.TopBarController.lambda$applyRightButtons$1$TopBarController(TopBarController.java:122) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.topbar.-$$Lambda$TopBarController$rlIV_MYFMKIvSNp70rm34RXTfHA.run(Unknown Source:8) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.utils.CollectionUtils.forEachIndexed(CollectionUtils.java:130) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.topbar.TopBarController.applyRightButtons(TopBarController.java:122) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.StackPresenter.applyButtons(StackPresenter.java:280) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.StackPresenter.applyChildOptions(StackPresenter.java:140) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.stack.StackController.onAttachToParent(StackController.java:95) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController.onGlobalLayout(ViewController.java:287) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.view.ViewTreeObserver.dispatchOnGlobalLayout(ViewTreeObserver.java:945) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2544) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1637) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7797) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1172) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:984) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:809) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1158) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:873) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6898) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: Caused by: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:8081 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:407) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:244) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at java.net.URL.openStream(URL.java:1073) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.utils.ImageLoader$Companion.remoteUrl(ImageLoader.kt:124) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.utils.ImageLoader$Companion.openStream(ImageLoader.kt:119) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.utils.ImageLoader$Companion.access$openStream(ImageLoader.kt:111) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.utils.ImageLoader.readJsDevImage(ImageLoader.kt:81) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.utils.ImageLoader.getDrawable(ImageLoader.kt:71) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: at com.reactnativenavigation.utils.ImageLoader.loadIcon(ImageLoader.kt:44) 08-12 18:40:46.297 26173 26173 E AndroidRuntime: ... 28 more
-
我还创建了一个名为Employeename的类,它定义了变量(请参见代码)
namespace TimeSheets_Try_11.Controllers { class WebAPI { public string Getsignature(string name) { var cookies = FullWebBrowserCookie.GetCookieInternal(new Uri(StaticStrings.UrlIora),false); WebClient wc = new WebClient(); wc.Encoding = System.Text.Encoding.UTF8; wc.Headers.Add("Cookie:" + cookies); wc.Headers.Add("Content-Type","application/x-www-form-urlencoded"); string uri = ""; uri = StaticStrings.UrlIora + name; var response = wc.DownloadString(uri); Employeename status = JsonConvert.DeserializeObject<Employeename>(response); string signature = status.Signature; return signature; } } }
问题:没有可见的错误,但是,当我开始调试并在表单应用程序中输入名称时,出现错误“ System.Net.WebException:'远程服务器返回了错误:(401)未经授权“”作为行“ var response = wc.DownloadString(uri);”在WebAPI文件夹中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。