钢琴cdefgab升降调对照表:升降箱连接器(dropbox connector)

关于钢琴cdefgab升降调对照表的问题,在dropbox connector中经常遇到, 我正在为 Dropbox 开发一个连接器。我必须手动将 URL 输入到程序生成的浏览器中,点击允许按钮也是手动的。请帮我弄清楚如何自动执行此操作;浏览器不应该打开,并且只需要一个用户交互。

我正在为 Dropbox 开发一个连接器。我必须手动将 URL 输入到程序生成的浏览器中,点击允许按钮也是手动的。请帮我弄清楚如何自动执行此操作;浏览器不应该打开,并且只需要一个用户交互。

这是我的代码:

import com.dropbox.core.*;
import java.io.*;
import java.util.Locale;
public class Main {
  public static void main(String[] args) throws IOException, DbxException {
    // Get your app key and secret from the Dropbox developers website.
    final String APP_KEY = "; //redacted
    final String APP_SECRET = ""; //redacted
    DbxAppInfo appInfo = new DbxAppInfo(APP_KEY, APP_SECRET);
    DbxRequestConfig config = new DbxRequestConfig("JavaTutorial/1.0",
                Locale.getDefault().toString());
    DbxWebAuthNoRedirect webAuth = new DbxWebAuthNoRedirect(config, appInfo);
    // Have the user sign in and authorize your app.
    String authorizeUrl = webAuth.start();
    System.out.println("1. Go to: " + authorizeUrl);
    System.out.println("2. Click \"Allow\" (you might have to log in first)");
    System.out.println("3. Copy the authorization code.");
    String code = new BufferedReader(new  InputStreamReader(System.in)).readLine().trim();
    // This will fail if the user enters an invalid authorization code.
    DbxAuthFinish authFinish = webAuth.finish(code);
    String accessToken = authFinish.accessToken;
    Dbx client = new Dbx(config, accessToken);
    System.out.println("Linked account: " + client.getAccountInfo().displayName);
    File inputFile = new File("working-draft.txt");
    FileInputStream inputStream = new FileInputStream(inputFile);
    try {
      DbxEntry.File uploadedFile = client.uploadFile("/magnum-opus.txt",
                    DbxWriteMode.add(), inputFile.length(), inputStream);
      System.out.println("Uploaded: " + uploadedFile.toString());
    } finally {
      inputStream.close();
    }
    DbxEntry.WithChildren listing = client.getMetadataWithChildren("/");
    System.out.println("Files in the root path:");
    for (DbxEntry child : listing.children) {
      System.out.println("  " + child.name + ": " + child.toString());
    }
    FileOutputStream outputStream = new FileOutputStream("magnum-opus.txt");
    try {
      DbxEntry.File downloadedFile = client.getFile("/magnum-opus.txt", null,
                    outputStream);
      System.out.println("Metadata: " + downloadedFile.toString());
    } finally {
      outputStream.close();
    }
  }
}
0

用户授权应用程序的唯一方法是通过浏览器中的 OAuth 进行授权。因此,您将无法避免在用户首次授权您的应用程序时打开浏览器。(在初始身份验证后,您可以存储和重用访问令牌,但第一次运行应用程序时,他们必须在浏览器中登录到 Dropbox。)

0

OAuth 需要两个步骤的过程。您必须首先使用 DropBox 注册您的应用程序。Box 将为您提供一个字符串,您应该在用户授权期间将其包含在通话中。

如果用户授权您的应用程序使用他们的资源,那么他们会给你一个令牌,你必须在未来的调用使用。

阅读 OAuth 的工作原理:https://www.pingidentity.com/resource-center/oauth-essentials.cfm

https://www.dropbox.com/developers/blog/45/using-oauth-20-with-the-core-api

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(423)
Idea编译class文件:Linux中的IntelliJIDEA编译加速
上一篇
数控g84攻牙怎么编程:TI-84损坏的程序(how to reset calculator ti 84)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(40条)