在网站https://code.google.com/apis/console上我已经注册了我的应用程序,为我的应用设置了生成的客户端ID:和客户端密钥,并尝试使用Google登录.不幸的是,我收到了错误消息:
Error: redirect_uri_mismatch
The redirect URI in the request: http://127.0.0.1:3000/auth/google_oauth2/callback did not match a registered redirect URI
scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
response_type=code
redirect_uri=http://127.0.0.1:3000/auth/google_oauth2/callback
access_type=offline
approval_prompt=force
client_id=generated_id
Run Code Online (Sandbox Code Playgroud)
这条消息是什么意思,我该如何解决?我使用gem omniauth-google-oauth2.
我正在尝试整合谷歌登录,在我的应用程序中,我添加了这些库:
compile 'com.google.android.gms:play-services-identity:8.1.0'
compile 'com.google.android.gms:play-services-plus:8.1.0'
Run Code Online (Sandbox Code Playgroud)
还将此添加到项目构建gradle:
classpath 'com.google.gms:google-services:1.4.0-beta3'
Run Code Online (Sandbox Code Playgroud)
还为app build gradle添加插件:
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)
然后添加所需的权限,但当我尝试运行我的应用程序时,收到此错误:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0\bin\java.exe'' finished with non-zero exit value 2
Run Code Online (Sandbox Code Playgroud) 我正在重构我的“使用 Google 登录”,将其替换gapi
为gsi
on http://localhost:8080
。
声称如何才能gapi
毫无问题地工作。gsi
The given origin is not allowed for the given client ID
<script src="https://apis.google.com/js/api:client.js" async defer></script>
Run Code Online (Sandbox Code Playgroud)
<script src="https://apis.google.com/js/api:client.js" async defer></script>
Run Code Online (Sandbox Code Playgroud)
<script src="https://accounts.google.com/gsi/client" async defer></script>
Run Code Online (Sandbox Code Playgroud)
window.gapi.load('auth2', () => {
const auth2 = window.gapi.auth2.init({ client_id })
auth2.signIn().then(console.log)
})
Run Code Online (Sandbox Code Playgroud)
错误如下:The given origin is not allowed for the given client ID
我最近遇到了这个应用程序购买应用程序,它以某种方式能够检索我在使用我的谷歌帐户登录后在谷歌播放中支付的应用程序.
我正试图找出它是如何完成的,因为我想构建一个类似的应用程序,但对于下载的免费应用程序.
但是,即使经过整个API列表,我也无法找到用于检索该信息的OAuth API Scope .
编辑:我正在对这个问题提出新的赏金,正如我在这里提出的一个类似的问题所提出的那样,因为在这里和那里我没有看到关于如何做到的真正答案,以及可以做些什么用它.
我想将问题细化为多个部分:
什么是可用于获取已购买应用程序信息的API?我在哪里可以阅读它?请展示如何操作的完整实用示例.
可以做得更多吗?也许执行搜索?也许显示已安装的免费应用程序?也许是他们安装和卸载的时间?那些应用程序的类别?
使用此API有什么特殊要求吗?
编辑:我正在为此付出最大的赏金,因为无论我阅读和尝试了多少,我仍然无法制作可以从用户下载的Play商店查询应用程序的POC(名称,包装)名称,安装和/或删除日期,图标URL,价格...),包括付费和免费应用程序.
如果有人找到了工作样本,请展示它是如何完成的,并展示您是如何找到它的(文档或任何导致您获得解决方案的内容).我无法在任何地方找到它,而这里目前的解决方案对我来说太模糊了.
我正在尝试将Google登录集成到我的应用中.我没有后端服务器,我只是将登录的Google帐户的详细信息提供给我的应用程序.
我首先尝试使用Google登录示例,但是我收到了一个错误(除了打印下面的堆栈跟踪之外,没有更改代码).我只使用了示例SignInActivity,因为我没有后端服务器.
Exception com.google.android.gms.common.api.ApiException: 12500:
at com.google.android.gms.common.internal.zzb.zzz(Unknown Source)
at com.google.android.gms.auth.api.signin.GoogleSignIn.getSignedInAccountFromIntent(Unknown Source)
at com.ewise.android.api.MainActivity.onActivityResult(SignInActivity.java:89) at android.app.Activity.dispatchActivityResult(Activity.java:7010)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4187)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4234)
at android.app.ActivityThread.-wrap20(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1584)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6316)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)
Run Code Online (Sandbox Code Playgroud)
码
public class SignInActivity extends AppCompatActivity implements
View.OnClickListener {
private static final String TAG = "SignInActivity";
private static final int RC_SIGN_IN = 9001;
private GoogleSignInClient mGoogleSignInClient;
private TextView mStatusTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Views
mStatusTextView = findViewById(R.id.status); …
Run Code Online (Sandbox Code Playgroud) 我刚开始面对iOS 10 GM版本的这个问题.我收到一封电子邮件说:
要处理您的交付,必须纠正以下问题:
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSCameraUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
完成所需的更正后,您可以重新更新已更正的二进制文件.
问候,
App Store团队
我正在使用谷歌GoogleSignIn.我没有使用Firebase,但在使用可可豆荚安装GoogleSignIn时,我在日志中看到它自动安装了Firebase.
除了必须定义这些键之外我们还可以做些什么,因为我的应用程序与相机/照片等无关,因此我不希望用户认为我们正在使用它们.
我注意到其他人也遇到过这个问题:https: //forums.developer.apple.com/thread/62229
我正在使用prod的构建方案和一个用于暂存的构建方案(具有2个不同的bundle标识符),我正在尝试为每个方案使用单独的GoogleService-Info.plist.在初始化GCM(和goole登录)时,有没有办法手动选择要使用的plist文件?或者是否可以避免使用plist并手动进行设置?
谢谢!
我正在使用xcode 7 GM种子,并通过cocoapods安装了最新的Google Signin SDK pod "Google/SignIn
.当我尝试将我的应用程序发布到Apple应用商店时,我收到了附加的错误.
救命!!
以下是Google SDK pod的详细版本
- Google/Core (1.0.7):
- GoogleNetworkingUtilities (~> 1.0)
- GoogleSymbolUtilities (~> 1.0)
- GoogleUtilities (~> 1.0)
- Google/SignIn (1.0.7):
- Google/Core
- GoogleSignIn (~> 2.0)
- GoogleAppUtilities (1.0.0):
- GoogleSymbolUtilities (~> 1.0)
- GoogleAuthUtilities (1.0.1):
- GoogleNetworkingUtilities (~> 1.0)
- GoogleSymbolUtilities (~> 1.0)
- GoogleNetworkingUtilities (1.0.0):
- GoogleSymbolUtilities (~> 1.0)
- GoogleSignIn (2.2.0):
- GoogleAppUtilities (~> 1)
- GoogleAuthUtilities (~> 1)
- GoogleNetworkingUtilities (~> 1)
谢谢.
我正在使用谷歌登录服务来验证使用我的应用程序的用户.当我刚要求电子邮件信息时,我得到了它的工作
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail().build();
Run Code Online (Sandbox Code Playgroud)
然后,我发现我还需要请求ID令牌才能使用我的后端进行身份验证,所以我做了:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(String.valueOf(R.string.server_client_id))
.requestEmail().build();
Run Code Online (Sandbox Code Playgroud)
问题是它不会让我在更改后登录.我每次尝试登录时都会得到的状态是Status{statusCode=unknown status code: 12501, resolution=null}
.
我一直在寻找,我发现这篇文章几乎是一回事.但是,我没有回答任何人所提出的任何错误,我的开发控制台中的oAuth客户端ID用于Web应用程序:
并且
R.string.server_client_id
是图片中的第一个客户端ID.包名称当然是正确的,否则它甚至在没有令牌请求的情况下也无法工作.2人还建议应用程序需要签名才能使用,但googles文档说调试密钥也应该工作,并且让人们签署应用程序进行调试没有意义.
我一直在试图解决这个问题几个小时但没有成功.可能是什么问题呢?请随时索取我可能忘记放在这里的更多信息.
我正在尝试创建Google登录并收到错误消息:
权限被拒绝为目标域生成登录提示
之前纪念这个副本,这是不一样的问题,在问在网站错误谷歌标志:权限被拒绝生成目标域登录提示,因为在这种情况下,提问者是在本地主机上,而我得到的这个错误服务器.
具体来说,我在Authorized Javascript Origins中包含了服务器的url,如下图所示:
我还应该在限制页面中添加其他内容吗?有没有办法弄清楚这里发生了什么?开发人员控制台上是否有日志可以告诉我发生了什么?
google-signin ×10
android ×4
ios ×3
admob ×1
firebase ×1
google-oauth ×1
google-play ×1
gradle ×1
java ×1
javascript ×1
oauth-2.0 ×1
xcode7 ×1