【发布时间】:2018-06-15 20:12:29
【问题描述】:
我最近一直在尝试使用 Coinbase iOS SDK,但在检索用户的以太坊、莱特币和比特币现金余额以及历史交易时遇到了问题。目前,我只用比特币、美元和欧元做到了这一点,这似乎与 Coinbase 提供的演示应用程序的行为一致。
我已经使用 OAuth2 在 Coinbase API 访问页面上配置了一个应用程序,并且生成的客户端 ID 和密码正在应用程序中使用。
问题似乎源于我修改了 Coinbase iOS SDK 以允许我将帐户参数传递为 '全部'。我希望这样可以让我查看所有用户帐户(ETH、BTC、LTC 等)的详细信息,但是,在 Coinbase 对象上调用“getAccountsList”时,我只能获得 BTC、USD 和 EUR。
NSString *accessToken = [response objectForKey:@"access_token"];
Coinbase *client = [Coinbase coinbaseWithOAuthAccessToken:accessToken];
[client getAccountsList:^(NSArray *accounts, CoinbasePagingHelper *paging, NSError *error) {
for (CoinbaseAccount *account in accounts) {
// Only BTC, USD and EUR are in the accounts array at this point.
}
}];
这令人惊讶,因为权限请求页面正确地向用户询问所有钱包,如下面的屏幕截图所示:
我怀疑解决方案是使用 API 密钥,因为您可以准确指定要授予访问权限的帐户。但是,我计划分发该应用程序,因此不应使用此技术。
这是我发送的 URL 示例:
https://www.coinbase.com/oauth/authorize?response_type=code&client_id=CLIENT_ID_GOES_HERE&account=all&scope=balance%20transactions%20user&redirect_uri=com.example-name.example-app.coinbase-oauth%3A%2F%2Fcoinbase-oauth
有谁知道我如何使用 OAuth 请求访问所有用户帐户并检索每个帐户的详细信息?我定义的范围在某种程度上是否不正确?我能想到的唯一选择是逐个请求访问每个钱包并存储单独的访问令牌。然而,这不会是一个很好的用户体验。
谢谢!
【问题讨论】:
标签: ios objective-c oauth coinbase-api