- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
为了在 Android 应用程序中实现社交功能,我尝试使用“PlusClient”类的“writeMoment”方法,但没有任何反应。我能够与“PlusClient”成功建立连接,并使用我的应用编写深层链接帖子。
这是我打开 Google+ 连接时的代码:
monPlusClient = new PlusClient.Builder(this,
new GooglePlayServicesClient.ConnectionCallbacks() {
@Override
public void onConnected() {
plusencours = false;
String accountName = monPlusClient.getAccountName();
// We've resolved any connection errors.
Toast.makeText(
ActiviteAfficher.this,
accountName
+ " "
+ ActiviteAfficher.this
.getResources()
.getString(
R.string.texteconnexion),
Toast.LENGTH_LONG).show();
// Log.d(TAG_DEBUG, accountName + " connected");
}
@Override
public void onDisconnected() {
plusencours = false;
// Log.d(TAG_DEBUG, "disconnected");
}
}, new GooglePlayServicesClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult resultat) {
if (resultat.hasResolution()) {
try {
resultat.startResolutionForResult(
ActiviteAfficher.this,
REQUEST_CODE_RESOLVE_ERR);
} catch (SendIntentException e) {
plusencours = true;
monPlusClient.connect();
}
}
// Save the result and resolve the connection failure
// upon a user click.
mConnectionResult = resultat;
}
})
.setVisibleActivities("http://schemas.google.com/AddActivity",
"http://schemas.google.com/DiscoverActivity")
.setScopes(Scopes.PLUS_LOGIN, Scopes.PLUS_PROFILE).build();
这是我使用“writeMoment”时的代码:
ItemScope target = new ItemScope.Builder()
.setId(monSujet.getMid())
.setName(
monSujet.getName() + " - "
+ monSujet.getNotablename())
.setDescription(dialoguedescription).setImage(urlimage)
.setType("http://schema.org/Person").build();
Moment moment = new Moment.Builder()
.setType("http://schemas.google.com/AddActivity")
.setTarget(target).build();
if (monPlusClient.isConnected()) {
monPlusClient.writeMoment(moment);
}
理解 logcat 对我来说很难:
05-09 12:00:32.380: I/ElegantRequestDirector(27290): I/O exception (org.apache.http.NoHttpResponseException) caught when processing request: The target server failed to respond
05-09 12:00:32.380: I/ElegantRequestDirector(27290): Retrying request
05-09 12:00:33.000: E/Volley(27290): [3428] BasicNetwork.performRequest: Unexpected response code 400 for https://www.googleapis.com/plus/v1/people/me/moments/vault
05-09 12:00:33.050: D/SyncManager(295): failed sync operation XXXXXXX@gmail.com (com.google), com.google.android.gms.plus.action, USER, earliestRunTime 140603923, SyncResult: stats [ numIoExceptions: 1]
05-09 12:00:33.050: D/SyncSetupManager(16157): setState: sync = true, wantedSyncState = true
05-09 12:00:33.090: D/SyncSetupManager(16157): Enabling sync
最佳答案
如果您在编写应用 Activity 时遇到调试问题,您应该尝试为 GooglePlusPlatform 启用调试:
adb shell setprop log.tag.GooglePlusPlatform VERBOSE
此处也有描述 - https://developers.google.com/+/mobile/android/getting-started#frequently_asked_questions
在启用调试的情况下运行您的代码会将以下内容写入 logcat:
D/GooglePlusPlatform(8133): Unexpected response code (400) when requesting: writeMoment
D/GooglePlusPlatform(8133): Error response: {
D/GooglePlusPlatform(8133): "error": {
D/GooglePlusPlatform(8133): "errors": [
D/GooglePlusPlatform(8133): {
D/GooglePlusPlatform(8133): "domain": "global",
D/GooglePlusPlatform(8133): "reason": "badRequest",
D/GooglePlusPlatform(8133): "message": "Missing metadata field: http://schema.org/url."
D/GooglePlusPlatform(8133): }
D/GooglePlusPlatform(8133): ],
D/GooglePlusPlatform(8133): "code": 400,
D/GooglePlusPlatform(8133): "message": "Missing metadata field: http://schema.org/url."
D/GooglePlusPlatform(8133): }
D/GooglePlusPlatform(8133): }
如果不提供具有适当标记(而不是显式名称和描述)的公共(public)目标 URL,则无法提供 Person 对象。使用 http://schema.org/Thing 运行您的代码而不是 http://schema.org/Person为我工作。
关于android - Google+ android API PlusClient writeMoment 什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16459215/
我尝试将我的 android 应用程序集成到 g+。我尝试添加 PlusClient 来初始化它。但是 AndroidStudio 说:无法解析 PlusClient。我添加了这些导入 header
我正在尝试使用 PlusClient 在 Google+ 用户个人资料上使用“时刻”编写位置签到。这是我初始化客户端的方式: mPlusClient = new PlusClient.Builder(
import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.Goog
我是 android studio 的新手,我想使用谷歌登录凭据登录。我已将所有必需的依赖项和 compilesdkversion 保留为 19.1.0。它显示以下错误:: Error:(78, 31
对于 Android 应用中的 Google plus 登录,使用 com.google.android.gms.plus.PlusClient 包并使用上述监听器显示错误。登录后想获取userId。
我收到错误 PlusClient.OnPersonLoadedListener 无法解析为类型。下面是我使用 PlusClient.OnPersonLoadedListener 的行。 public
根据 https://gist.github.com/ianbarber/5170508您应该与 PlusClient 连接,然后才使用 GoogleAuthUtil 获取 token 。 但在我的应
我看到可以从 PlusClient 的 loadPerson 方法中检索到的 Person 对象有一个 getCurrentLocation() 方法。出于某种原因,我没有在在线文档中看到 getCu
我正在尝试获取 Google+ 用户的基本信息以登录我的应用。 我可以连接并获取帐户名: String email = mPlusClient.getAccountName(); // This wo
所以我实现了 google plus 登录到我的应用程序...我的实现非常接近给定的示例 here 。我和他最大的区别是我需要的范围更大。在构建我的 plusclient 时,我指定了以下范围:
我想将 google+ 登录集成到我的 Android 应用程序中。我已经在 android list 文件中授予了权限,并且还初始化了 plusclient 对象,但是当使用登录按钮时,我收到错误“
在 Google+ Android PlusClient 中 documentation它声明您应该在 onStart() 和 onStop() 中执行 .connect() 和 .disconnec
为了在 Android 应用程序中实现社交功能,我尝试使用“PlusClient”类的“writeMoment”方法,但没有任何反应。我能够与“PlusClient”成功建立连接,并使用我的应用编写深
我正在使用 Android/google_play_service 库和 PlusClient 做一些工作。具体来说,我只是在 ListView 中填入我的联系人姓名,以及他们的 G+ 个人资料页面上
众所周知,Google 已将 PlusClient API 替换为 GoogleApiClient API,并建议所有使用旧 API 的代码都应迁移到新 API。我使用 Android Studio
我的应用程序中集成了旧的 Google Plus(又名 Google Play 服务)API,现在我正在尝试更新一些内容以使用 V2 API,其中包括访问人的圈子。 从表面上看,我应该做的唯一更改是更
我更新并导入了 google-play-services_lib 项目并将此库添加到我的项目中,但它仍然显示相同的错误 The import com.google.android.gms.plus.P
我正在尝试让示例 Android Google+ 应用正常工作...(Google 在此处提供的示例应用:https://developers.google.com/+/quickstart/andr
我是一名优秀的程序员,十分优秀!