Articles of google plus

虽然明确要求,但无法通过Google Plus帐户获得私人生日

我正在尝试从其Google Plus帐户中获取用户的信息,包括性别和年龄。 由于这些字段可能是私有的,我认为明确请求它们可以解决问题。 但是,尽管登录对话框明确指出应用程序要求View your complete date of birth ,但我未能过生日。 这些是我的范围(尝试了很多变化): GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) //.requestScopes(new Scope(Scopes.PROFILE)) //.requestScopes(new Scope(Scopes.PLUS_LOGIN)) .requestScopes(new Scope(“https://www.googleapis.com/auth/user.birthday.read”), new Scope(“https://www.googleapis.com/auth/userinfo.profile”)) //.requestProfile() .requestEmail() .build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this, this) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .addApi(Plus.API) .addScope(new Scope(Scopes.PROFILE)) .build(); 在onActivityResult使用不推荐使用的getCurrentPerson时,我得到null值: if (requestCode == RC_SIGN_IN) { GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); if (mGoogleApiClient.hasConnectedApi(Plus.API)) { Person person = […]

从Google相册应用中获取video(非本地)

使用Google相册应用 ,我正在尝试选择未在设备上缓存的video。 我正在使用ACTION_GET_CONTENT意图来启动选项对话框,并从那里选择Google相册应用。 在选择本地video时,它会以此forms返回一个Uri。 内容://媒体/外部/video/媒体/ 6708 然后,我查询内容提供程序以检索实际文件位置,然后从那里继续。 文件位置如下所示。 / storage / emulated / 0 / WhatsApp / Media / WhatsApp Video / VID-20131102-WA0000.mp4 现在,当我选择在线video时,即:我的设备上尚未提供的video,以及需要下载以供使用的video时,返回的Uri如下所示: 内容://com.google.android.apps.photos.content/1/ https://lh6.googleusercontent.com/_RD-QTO_SK5jlaPldTe2n5GANqMc3h-ukcbNoFlF1NLy=s0-d 现在,有了这个,没有记录的ContentProvider可以帮助我获得这个video的实际链接。 即使我进行查询,它也不会返回DISPLAY_NAME和SIZE列。 DISPLAY_NAME包含video.mpeg(不同video的显示名称相同) SIZE可能会告诉我实际文件的大小。 在SO上提到这篇文章。 我检查了各种post,并认为我必须通过内容提供商获取video的InputStream,保存文件,并使用该文件。 然而,选择图像文件可以正常工作,但对于video则不然。 因此,要将流复制到文件,我有这个代码。 InputStream inputStream = context.getContentResolver()。openInputStream(Uri.parse(path)); 最后写入临时文件。 该文件已创建,但似乎没有正确格式化。 VLC播放文件,但始终只显示第一帧。 如果我从上面给出的URI的最后一部分获取URL,并尝试在浏览器上查看它,它会下载一个GIF文件。 我猜这是问题所在。 但我不知道如何获得video的mpeg格式。 有谁经历过同样的经历?

Google登录在playstore中发布后无法正常工作

在Play商店发布之前,我的谷歌标志工作正常。 我在stackoverflow中看到了一些问题,但没有一个回答我的问题。 我不知道为什么登录不再有效。 (我没有使用firebase)。 我已经完成了使谷歌标志工作的所有步骤,并且在我发布之前它正在运行。 谁知道发生了什么? 我能做什么?

Google+分享链接

我在Google+中寻找相当于facebook sharer链接( http://www.facebook.com/sharer/sharer.php?u=http://stackoverflow.com )。 我无法使用常规+1按钮,因为我需要将其嵌入到Android应用程序中,但我希望它的工作方式类似 – 启动网站以+1指定url。 我该怎么做? 或者在Android应用程序中嵌入+1按钮可能还有其他一些受支持的方法吗? 谢谢

Plus.PeopleApi.getCurrentPerson返回null

我目前正在使用我的应用中的Google Plus登录function。 我创建了GoogleApiClient构建器,如下所示 Plus.PlusOptions options = new Plus.PlusOptions.Builder() .addActivityTypes(“http://schemas.google.com/AddActivity”) .build(); myGoogleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) // .addApi(Plus.API, Plus.PlusOptions.builder().build()) .addApi(Plus.API, options) .addScope(Plus.SCOPE_PLUS_LOGIN) .addScope(Plus.SCOPE_PLUS_PROFILE).build(); 和onConnected方法 @Override public void onConnected(Bundle arg0) { // TODO Auto-generated method stub plusUtilities.ShowToast(“Login successful”); updateGPbutton(); // hide progress DiaLog plusUtilities.DissmissPD(); // it has deprecated // plusUtilities.ShowToast(“Login to Google+ with ” + // […]

google登录中的statusCode = DEVELOPER_ERROR

我正在使用谷歌登录的代码。我在app文件夹中添加了google-services.json文件。我在root gradle模块中使用了classpath ‘com.google.gms:google-services:2.0.0 ‘。我检查了我的包在开发者控制台和它的正确和我添加SHA1键,我通过运行命令keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android在终端上获得(我使用的是ubuntu) 。我已启用Google+ API。我已创建了OAuth许可屏幕和OA客户端ID。当我尝试使用google登录时,我会收到以下错误 {statusCode = DEVELOPER_ERROR,resolution = null} 我检查类似的问题,但找不到合适的解决方案。 码 GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestProfile().requestId() .requestEmail().requestScopes(new Scope(Scopes.PLUS_ME)) .requestScopes(new Scope(Scopes.PLUS_LOGIN)) .build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this, this /* OnConnectionFailedListener */) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .build(); googleButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent […]

平板电脑教程的Google+ Android网格小部件

我想在Android中构建一个异构网格小部件,就像用于平板电脑或Pinterest的Google+应用程序一样。 我找不到任何教程,看起来特别困难。 不幸的是, GridView只能有相同大小的单元格,而我想要实现不同大小的单元格。 你能指点我任何好的教程吗? 我只知道我必须扩展AbsListView 。

如何从Android中的不同Activity中完全退出google plus?

我在我的应用程序中实现了google plus,当我通过google plus登录时,我的应用程序显示所有在我的Android设备中同步的谷歌帐户。 我的问题是,当我从谷歌加登出并再次登录然后我的应用程序不要求选择帐户(不显示我的Android设备中的所有谷歌帐户同步),它只显示我第一次安装应用程序和我的应用程序直接登录我第一次登录时选择的帐户。 我附加了我的注销码。 我花了很多时间在这个问题上,但没有find任何解决方案。 private void signOutFromGplus() { if (SignInActivity.mGoogleApiClient.isConnected()){ Plus.AccountApi.clearDefaultAccount(SignInActivity.mGoogleApiClient); SignInActivity.mGoogleApiClient.disconnect(); SignInActivity.mGoogleApiClient.connect(); } }

在分享post时,Android上有多个帐户问题

我已按照Google的教程在https://developers.google.com/+/mobile/android/sign-in上成功将Google+集成到我的Android应用程序中 我面临的问题是在我的设备上配置了多个帐户,比如帐户A和帐户B. 我的手机的Google+应用已配置帐户A. 现在,当我点击我的应用程序中的“登录”按钮时,会出现帐户选择对话框。 我选择账户B. APp使用此帐户成功登录,我可以获取用户的信息,如姓名,dp等。 但是当我尝试在Google +上分享post时,会出现分享对话框,奇怪的是帐号A设置在最顶层。 (共享它也会出现在帐户A的Feed中,而不是B.) 我正在使用以下代码进行共享: Intent shareIntent = new PlusShare.Builder(this) .setType(“text/plain”) .setText(“Welcome to the Google+ platform.”) .setContentUrl(Uri.parse(“https://developers.google.com/+/”)) .getIntent(); startActivityForResult(shareIntent, 0);

使用G +登录 – 为什么范围“plus.login”不能单独使用?

我已经对这个主题进行了几十个答案,遵循官方的快速入门指南,完成了我能想到的一切。 我已经在其所有部分设置了我的Google开发者控制台,包括为OAuth和公共API访问设置正确的调试SHA1密钥(甚至不知道是否有必要)。 问题 我有问题将范围设置为我的GoogleApiClient 。 googleClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(Plus.API) .addScope(…) .build(); 我可以使用不同的范围组合登录: .addScope(new Scope(“https://www.googleapis.com/auth/plus.login”)) .addScope(new Scope(“https://www.googleapis.com/auth/plus.profile.emails.read”)) //WORKS! OR: .addScope(Plus.SCOPE_PLUS_LOGIN) // == https://www.googleapis.com/auth/plus.login .addScope(Plus.SCOPE_PLUS_PROFILE) // == https://www.googleapis.com/auth/plus.me //WORKS! OR: .addScope(new Scope(“https://www.googleapis.com/auth/plus.profile.emails.read”)) //WORKS! OR: .addScope(Plus.SCOPE_PLUS_PROFILE) // == https://www.googleapis.com/auth/plus.me //WORKS! 它们都运行良好,我看到它们反映在请求中(即,如果我设置login + emails.read ,对话框实际上会要求这两个)。 但是,我只需要“ https://www.googleapis.com/auth/plus.login ”。 如果我只是设置.addScope(new Scope(“https://www.googleapis.com/auth/plus.login”))或等效的.addScope(Plus.SCOPE_PLUS_LOGIN) ,我会遇到文档Toast错误: 发生内部错误。 所以这个范围(我唯一需要的)与其他人(例如plus.me)一起工作,但并不孤单。 为什么这样,我该怎么办?