与Google Play服务的连接失败

时间:2013-05-07 08:29:56

标签: android youtube-api google-api-java-client google-play-services

我尝试使用此 YouTube Direct Lite应用 for Android项目上传视频https://code.google.com/p/ytd-android/

我执行了链接中提到的所有步骤。

应用程序在我的Android设备运行正常,但我重温烤面包“连接到播放服务失败”和“发生内部错误”吐司。

并且此日志错误:

05-07 11:17:33.659: E/com.google.ytdl.UploadsListFragment(3140): Connection to Play Services Failed, error: 4, reason: ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{41836358: android.os.BinderProxy@41779308}}

为了找出问题所在,我查阅了我在这里生成的api密钥:

https://code.google.com/apis/console

Simple API Access
Use API keys to identify your project when you do not need to access user data. Learn more
Key for Android apps (with certificates)
API key:    
xxxxxxxxxxxxxxxxxx
Android apps:   
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;com.google.ytdl
Activated on:   Apr 16, 2013 11:30 AM
Activated by:    xxxxx@gmail.com – you

看起来很好。

我红了那些链接: https://developers.google.com/+/mobile/android/sign-in http://developer.android.com/google/play-services/auth.html#choose

任何人遇到此问题并知道问题是由什么引起的?我唯一能想到的就是api键,但看起来很合适,帮助......

edite:

访问令牌

 mToken =
              GoogleAuthUtil.getToken(MainActivity.this, mChosenAccountName, "oauth2:"
                  + Scopes.PLUS_PROFILE + " " + YouTubeScopes.YOUTUBE + " "
                  + YouTubeScopes.YOUTUBE_UPLOAD);

3 个答案:

答案 0 :(得分:4)

我最近遇到了类似的错误。我通过在Google API控制台中添加正确的信息解决了这个问题,特别是在API Access窗格中。

在我的情况下,我错过了OAuthClient 2.0 id。文档here

答案 1 :(得分:4)

如果有人将来需要它,我还有一个建议。除了API设置和Google控制台身份验证过程之外,请注意一些细节:在Google控制台上,应用程序必须具有Apis&Auth -> Consent Screen的产品名称(请参见下图)。在我的情况下,我没有设置产品名称,这就是SIGN_IN_REQUIRED错误的原因。

Product name from Google Console

答案 2 :(得分:2)

在两种情况下会出现此问题:

1)未正确包含Google Play服务库。

2)Dev console设置不正确。 (另外,如果您只是设置开发控制台,有时需要几分钟的时间进行传播。)