这是我在这里的第一篇文章,我希望下一篇文章是帮助某人并提出问题......
我遇到了Dropbox核心API的问题。 我正在开发一个应用程序,用户可以选择文本文件,应用程序获取文件的内容并使用它... 任何人都可以帮助我并告诉我如何获取内容?我搜索了很多,但仍然无法找到任何东西......
首先,应用会对用户进行身份验证并请求权限:
protected void onResume() {
super.onResume();
if (mDBApi.getSession().authenticationSuccessful()) {
try {
// Required to complete auth, sets the access token on the session
mDBApi.getSession().finishAuthentication();
String accessToken = mDBApi.getSession().getOAuth2AccessToken();
} catch (IllegalStateException e) {
Log.i("DbAuthLog", "Error authenticating", e);
}
}
然后程序使用Dropbox选择器提示用户选择文件:
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.dropbox.chooser.android.DbxChooser;
static final int DBX_CHOOSER_REQUEST = 0; // You can change this if needed
private Button mChooserButton;
private DbxChooser mChooser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mChooser = new DbxChooser(APP_KEY);
mChooserButton = (Button) findViewById(R.id.chooser_button);
mChooserButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mChooser.forResultType(DbxChooser.ResultType.PREVIEW_LINK)
.launch(MainActivity.this, DBX_CHOOSER_REQUEST);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == DBX_CHOOSER_REQUEST) {
if (resultCode == Activity.RESULT_OK) {
DbxChooser.Result result = new DbxChooser.Result(data);
Log.d("main", "Link to selected file: " + result.getLink());
// Handle the result
} else {
// Failed or was cancelled by the user.
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
该应用获取文件名并正确链接。如何复制内容并将其保存为字符串变量?
提前谢谢你:)
答案 0 :(得分:0)
您似乎正在使用Core API和Chooser的混合体。您正在对用户进行身份验证,但我根本没有看到对Core API的任何调用。看起来你到目前为止只使用了选配器。获得URL后,您可以像获取任何URL的内容一样下载内容。
Chooser的想法是你根本不需要对用户进行身份验证,所以如果这就是你需要做的全部,你就可以摆脱验证用户身份的代码(并停止链接您应用中的核心SDK。)
如果您想使用Core API,请查看教程:https://www.dropbox.com/developers/core/start/android