问题标签 [acaccount]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1030 浏览

ios - iOS:ACAccountTypeIdentifierFacebook 的用户全名

我正在使用 iOS 的 Facebook 集成来允许用户使用他们的 Facebook 帐户登录。

我在获取用户全名时遇到了问题。

我正在创建一个ACAccounttype ACAccountTypeIdentifierFacebook

经过一番搜索,我发现了这个小片段来获得全名:

我测试了它,它工作。它适用于多种设备。

然后我们将它发送给我们的客户,他安装了它,但它没有工作。

经过几天的测试,我能够从同事那里得知 iPhone 上发生的错误。

经过快速调试会话后,我发现fullname密钥不存在。取而代之的是另外两个键,ACPropertyFullNameACUIAccountSimpleDisplayName

现在我获得全名的代码是:

所以我的问题实际上分为三个部分:

  1. 密钥是否可能发生同样的事情uid,如果是这样,存在哪些可能的密钥?

  2. 是否有任何其他键可以获得全名?

  3. Twitter 上是否也会发生同样的事情,或者它总是使用相同的密钥?

谢谢大家。

0 投票
2 回答
2840 浏览

ios - 使用 Facebook iOS 7 的 ACAccount 获取电子邮件

首先,我不想使用 Facebook SDK,所以我设法做到了,这是可行的,但我不知道如何检索用户的电子邮件,即使它在我的权限请求中。

ACAccount 上没有返回用户电子邮件的属性,因此我尝试查找是否必须通过 SLRequest 完成但找不到。

可能吗?

0 投票
2 回答
1463 浏览

ios - 我应该何时更新 ACAccount?或者,如何检查凭证是否过期。(Facebook)

最近被指派调查如何使用iOS框架ACAccount和Social来实现facebook发帖功能。访问设置中配置的帐户非常简单。

一旦应用程序获得对 facebook 的访问权限,它就可以使用 SLComposeViewController 发布消息:

我的问题来了。我发现 ACAccountStore 中有一个方法用于更新 ACAccount 的过期凭据:

但我什至不知道如何检查凭证是否过期,以便我可以更新它。有人对此有所了解吗?

哦,对了,我们只是想使用原生的Social框架来做一些简单的工作,比如发布一些消息或图片。因此,如果不需要,我们不会使用 facebook SDK。

如果您知道如何检查凭证是否有效,请发表评论或提交答案,谢谢:)

更新 2013.11.20 11:10 AM

我从我对这个问题的实验中学到了一些东西..

  1. 一个人在获得访问权限之前无法从帐户商店获取某些类型的帐户,因此我不应该在请求访问之前检查帐户数量。

  2. 在 Facebook 帐户更改后,当使用 ACAccount 的应用程序处于后台时调用更新通知。目前,我只看到访问权限的更改会触发通知。

  3. 如果用户更改密码,当用户尝试发布内容时,系统会弹出警报,要求用户更改密码。

我认为监控帐户更改通知足以处理更改。我会接受第一个答案。

0 投票
1 回答
5465 浏览

ios - 如果在安装应用程序后登录帐户,应用程序将不会显示在设置->facebook

我发现了一个奇怪的 iOS 帐户设置问题。当我处理ACAccount 更新问题时,我发现如果用户在安装我的应用程序后在设备设置中登录 facebook,我的应用程序将无法访问 facebook 帐户。

准确地说,我的应用程序不会显示在“允许这些应用程序使用您的帐户”中。因此,我对这个问题做了一些测试:

(1)。安装应用程序后登录 Facebook ->未显示

(1-1)。删除应用程序并重新安装 ->未显示

(2)。应用安装后重新登录Facebook ->不显示,所有已授权或未授权的应用也不会显示。

(3)。安装应用前的 Facebook 登录 ->显示

而且,一旦遇到问题是不可逆的,无论你重新登录facebook、重新安装应用程序还是重启设备都无法解决问题。只有原生 iOS 应用程序和 Facebook 应用程序将保留在列表中。

有一个关于这个的老问题,但这个问题没有得到回答。有人遇到同样的问题吗?

更新于 2013.11.20 上午 11:38

我在使用 ACAccount 时犯了两个错误,以下是获取 facebook 帐户访问权限的示例代码:

  1. 在获得访问权限之前,我会检查帐户数量。

  2. 我不确定这是否是 APPLE SDK 的错误,如果我请求访问“publish_stream”,请求将失败。

然后,我在这里看到了有关 requestAccessToAccountsWithType 错误的讨论。据说我们应该请求两次权限,一次读取,一次写入。

因此,我将访问权限从“publish_stream”更改为“read_stream”,然后它就可以工作了。我的应用程序再次显示在列表中。

虽然请求写权限失败,但不影响发帖对用户的行为能力。

更新于 2014.8.12 上午 12:31

maml报告说,在执行上述步骤后,该权限可能仍会被拒绝,但该应用程序确实出现在设置中,这使得可以将其打开。

0 投票
0 回答
696 浏览

objective-c - 已授予 Facebook 帐户访问权限,但 OauthToken 为空

我的应用程序仅适用于 iOS7,为了避免麻烦,我决定不使用 Facebook SDK 进行身份验证,而是依赖 iOS 的 ACAccountStore。不幸的是,我仍然感到头疼。

我有一个名为 FacebookService 的类,其中一个方法名为login. 我将在下面发布代码,但总的来说,我会按照标准的方式配置一个实例,ACAccountStore然后调用requestAccessToAccountsWithType. 在完成块中,如果granted返回 false,则向用户发送消息并短路。

如果granted是真的,那么我的代码用来假设我拥有使用以下代码获取用户的 oauthToken 所需的一切:

oauthToken从 中得到ACAccount#credential,第一件奇怪的事情是根据文档

出于隐私原因,此属性(在保存帐户后无法访问。

我可以肯定地告诉你,在大多数情况下,这个属性是绝对可以访问的,我可以使用它发送到我的服务器以查找以前经过身份验证的用户。

然而,少数时候,该值实际上是空的。在发生这种情况的每种情况下,如果用户转到“设置”>“Facebook”>“关闭我们的应用程序”>“打开我们的应用程序”,它就可以解决。他们回到我们的应用程序,点击“使用 Facebook 登录”,一切正常。

所以这是我的问题:

  1. 有没有办法从他们的 FB ACAccount 中持续获取用户的 oauthToken?正如您将在我的代码中看到的那样,我现在首先检查该值是否为空,如果是,我向它们发出警报。
  2. 它说什么用户可以通过进入设置来解决这个问题,禁用然后启用我的应用程序?他们的帐户不同步还是我需要更新凭据?
  3. 如果我被告知已授予访问权限但我未能收到 oauthToken,是否有办法在我的方法中恢复?
  4. 有谁知道我可以设置系统以便可靠地重现它的方法吗?

这是我的代码:

0 投票
1 回答
262 浏览

ios - iOS Facebook 权限重置

我有一个用例如下......
1. 用户点击 facebook 分享按钮
2. 用户回应他们不想分享他们的信息来提示
3. 用户再次点击 facebook 分享按钮
4. 期望的结果 - 用户被重新提示授予发布
    实际结果的权限 - requestAccessToAccountsWithType 自动返回grant = false。

这是执行请求的代码...

反正有没有重新提示用户许可?

0 投票
1 回答
484 浏览

ios - 获取 ACAccount Facebook 用户全名为空

我正在尝试获取 Facebook 帐户的用户全名,该应用程序已经在 Facebook iPhone 设置中获得了权限,前几天这段代码可以工作,但不知道,我不明白为什么,这是代码:

这是:NSLog(@"name: %@",[facebookAccount userFullName]);null

0 投票
1 回答
184 浏览

ios - 未授权 Twitter 帐户的用户在使用我的应用时遇到问题

当用户升级到 iOS 7 时,他们必须重新授权他们的 Twitter 帐户。目前,我遇到了一个问题,这似乎是由于用户拥有多个帐户,其中一个或多个帐户未经过验证。

当一个用户有多个账户,并且其中一个需要授权时,运行这个方法会给出一个完成处理程序为 YES,和一个 nil 错误:

继续往下,该应用程序将无法从该帐户访问 Twitter,并导致崩溃。

阅读文档显示 ACAccount一个credential属性,但是this property is inaccessible after the account is saved, 所以不能用作指标。

ACAccountStore 确实有另一种方法:

但这会迫使用户在调用时更新他们的凭据,如果他们已经拥有,那就不理想了。

我如何才能真正确定帐户是否需要更新其凭据,或者是否可以访问?

0 投票
1 回答
1091 浏览

ios - 如何从 facebookSDK 将 facebook 帐户保存到 ACAccountStore

我想将 Facebook 帐户保存到ACAccountStoreiOS 中,

  1. accessTocken将从 facebookSDK 获得,但如何获得令牌和秘密
  2. 如何保存到ACAccountStore

提前致谢。

- - - 编辑 - - - -

我有一个使用 facebook 登录的应用程序,在登录信息之后需要分享他选择的照片。我的用例是,

  1. 如果帐户已经在设置应用程序中,那么我可以将其用于登录和共享。

  2. 用户使用 safari 或 webview 登录,然后我可以如何进行共享。

    一个。facebook SDK 说如果用户需要使用 OS 集成共享控制器,login method used to authenticate the user must be native iOS 6.0 authentication..

    湾。如果我需要共享 facebook SDK 使用 facebook App 提供的选项,我不想要这个选项,因为我想尽可能避免 App 切换。

这个怎么解决。。

0 投票
1 回答
212 浏览

ios - iOS7,无需 Twitter 应用即可登录并发布到 Twitter/添加新的 ACAccount

所以我正在尝试将 twitter 与我正在开发的应用程序集成。我正在寻找的流程是提示用户只输入一次他的推特用户名和密码,然后任何时候用户想要发布到推特,他都可以通过在文本字段中输入文本并单击“发送" 按钮 - 没有其他障碍。

如果用户已经使用关联帐户安装了 twitter 应用程序,我知道如何完成此操作 - 您可以从 ACAccountStore 检索帐户。但是当用户没有安装推特应用程序/在 ACAccountStore 中没有推特账户时,你会怎么做?有没有办法使用我让用户在应用内输入的用户名和密码来添加新的 ACAccount?