Articles of android facebook

在Android Facebook SDK中使用共享对话框。 如何知道用户实际共享或取消共享活动?

我已经为Android应用添加了共享function,如此处所述https://developers.facebook.com/docs/android/share-dialog/#setup 但我注意到,如果用户被取消,则无论如何都要调用onComplete @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); uiHelper.onActivityResult(requestCode, resultCode, data, new FacebookDialog.Callback() { @Override public void onError(FacebookDialog.PendingCall pendingCall, Exception error, Bundle data) { Log.e(“Activity”, String.format(“Error: %s”, error.toString())); } @Override public void onComplete(FacebookDialog.PendingCall pendingCall, Bundle data) { Log.e(“Activity”, “Success!”); } }); } 我也查看了返回的Bundle。 即使我取消分享对话,我也会得到 com.facebook.platform.extra.DID_COMPLETE=true 如何获得用户真正在Facebook上共享数据的结果? (不用facebook按钮单独登录。也许需要添加一些权限?)

官方Facebook示例崩溃(GraphApiSample)

我开始使用facebook-android-sdk-3.5.2。 SDK项目还包含使用api的varius示例: HelloFacebookSample:一个简单的活动,你可以登录并做一些事情,它很棒。 接下来我想尝试下一个示例: GraphApiSample, 我遇到了问题。 我启动这个应用程序后,我收到此错误:( Logcat): 11-11 15:22:40.008: E/AndroidRuntime(14048): FATAL EXCEPTION: main 11-11 15:22:40.008: E/AndroidRuntime(14048): java.lang.RuntimeException: Unable to resume activity {com.facebook.samples.graphapi/com.facebook.samples.graphapi.GraphApiSampleActivity}: java.lang.IllegalArgumentException: Both context and applicationId must be non-null 11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2621) 11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2649) 11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2122) 11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread.access$700(ActivityThread.java:134) 11-11 15:22:40.008: E/AndroidRuntime(14048): at […]

Android:Facebook成功登录后获得“用户访问令牌”

我一直在通过Facebook最新的SDK即3.0进行一些登录项目。 我在获取用户访问令牌方面遇到了困难。 我在互联网上搜索了所有,最大的结果是使用了旧的SDK。 以下是我从Facebook Android SDK教程中获取的一些代码: public class LoginActivity extends Activity implements OnClickListener { Button login; TextView accessToken; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); login = (Button) findViewById(R.id.login); accessToken = (TextView) findViewById(R.id.accessToken); login.setOnClickListener(this); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); } @Override […]

Session.isOpened()== true但Session.getAccessToken()==“”

在我的应用程序中,我试图通过将Facebook会话信息(令牌和到期日期)传递到我的服务器来进行身份validation(登录)。 我对应用服务器的登录顺序如下: 获得活跃的facebook会话。 如果会话有效,请获取令牌并将其发送到服务器。 在代码中: Session session = Session.getActiveSession(); if(session != null && session.isOpened() && !didLogin) { didLogin = true; String token = session.getAccessToken(); Date expires = session.getExpirationDate(); loginWithFacebookSession(token, expires); } 我注意到,突然间,经过几个月的工作就好了,发送到服务器的信息有时无效,特别是token是空字符串, expires是无效日期。 在通过Facebook SDK(版本3.0.1)后,我发现了可能是我的错误的基础: private static final Date MIN_DATE = new Date(Long.MIN_VALUE); private static final Date ALREADY_EXPIRED_EXPIRATION_TIME = MIN_DATE; private static final Date DEFAULT_LAST_REFRESH_TIME […]

Android Facebook SDK:上传谷歌播放时,密钥哈希与任何存储的密钥哈希都不匹配

我的应用程序使用facebook api进行用户登录。 在开发它工作正常,但当我上传到谷歌播放它停止工作。 这是错误日志: 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): Exception during service 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): com.facebook.http.protocol.ApiException: Key hash XXXXXXX does not match any stored key hashes. 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:83) 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:162) 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.http.protocol.ApiResponse.g(ApiResponse.java:239) 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.katana.server.protocol.AuthorizeAppMethod.a(AuthorizeAppMethod.java:272) 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.katana.server.protocol.AuthorizeAppMethod.a(AuthorizeAppMethod.java:29) 12-10 20:20:02.488: W/fb4a(:):BlueServiceQueue(17284): at com.facebook.http.protocol.ApiResponseHandler.a(ApiResponseHandler.java:56) 12-10 […]

在一个请求中获取读取和发布权限

在你们都说不可能之前,打开Spotify应用程序并用Facebook按钮点击登录。 我想知道他们是如何做到的,以及如何在一个请求中获得“publish_stream”和基本权限/电子邮件。 另外,如果我从上次会话中获得某些信息(他们上次使用该应用程序时),我是否可以使用Facebook SDK重新开启Facebook会话? 编辑 -SCREENSHOTS以下为音乐AVERT

Facebook 3.0 Android第二次登录尝试返回“会话状态关闭”

我正在尝试将Facebook集成到我的Android应用程序中。 使用Facebook登录按钮,我尝试登录。当我第一次安装应用程序时,它工作正常并成功登录。 当我使用该按钮注销,然后再次尝试登录时,它会显示权限对话框,但会关闭SessionState返回状态。 有什么建议么? 这是我的代码 public class LoginActivity extends FragmentActivity{ // private Login login; private boolean isResumed = false; private BirthDayComp app; private int Login=0; private int LogOut=1; private int Count=LogOut+1; private boolean loged= false; private Fragment[] fragments = new Fragment[Count]; private UiLifecycleHelper uiHelper; private Session.StatusCallback callback = new Session.StatusCallback() { @Override public void call(Session […]

在facebook页面上分享抛出错误

当我在Facebook页面上分享时,收到以下错误: (#100)只有URL的所有者才能指定图片,名称,缩略图或描述参数。 它在5-10天前工作正常。 搜索时我在Facebook开发者网站链接上find了以下内容: “自2017年11月7日起,链接自定义可用,但链接必须由发布页面拥有,并且需要页面访问令牌。要validation所有权,请检查URL节点上的ownership_permissions {can_customize_link_posts}字段。请参阅我们的链接所有权指南以获取更多信息。对于版本2.10及更低版本,不推荐使用图片,名称,缩略图和说明。不推荐使用所有版本的标题。“ 任何帮助,将不胜感激! ShareLinkContent content = new ShareLinkContent.Builder() .setContentUrl(Uri.parse(shareUrl)) .build(); new ShareApi(content).share(new FacebookCallback() { @Override public void onSuccess(Sharer.Result result) { shareCallback.onSuccess(result); } @Override public void onCancel() { shareCallback.onCancel(); } @Override public void onError(FacebookException error) { shareCallback.onError(error); } });

在Facebook Android SDK 4.0中设置按钮的登录/注销文本?

我的xml看起来像这样 和背景drawble xml是 现在在android工作室预览屏幕中,它按预期显示。 但是当我在手机或模拟器上运行它时,默认显示“登录FACEBOOK”,就像这样 如何在运行应用程序时获取自定义文本?

设计FacebookActivity以避免可怕的进度吧

我刚刚使用他们的SDK和ParseFacebookUtilsV4实现了通过Facebook登录。 在我的清单中,我必须声明在我尝试登录时启动的FacebookActivity ,这非常有用。 这个片段来自官方文档,所以我没有选择任何东西。 我觉得它的造型真的很奇怪 。 在我的模拟器(API 22)上它有一个似乎来自90年代的ProgressBar! 有没有办法造型呢? 我试过更改android:theme属性,但没有成功。 我想扩展com.facebook.FacebookActivity ,但在挖掘完源代码之后我发现它膨胀了一个com.facebook.LoginFragment ,然后实际负责进度条。 有任何想法吗?