我正在尝试使用附近的API发布一条简单的文本消息,但它返回未知状态代码=2806。以下是我的示例代码
private void publish(String message) {
Log.i(TAG, "Publishing message: " + message);
mActiveMessage = new Message(message.getBytes());
if (!mGoogleApiClient.isConnected()) {
if (!mGoogleApiClient.isConnecting()) {
mGoogleApiClient.connect();
}
} else {
PublishOptions options = new PublishOptions.Builder()
.setStrategy(Strategy.DEFAULT)
.setCallback(new PublishCallback() {
@Override
public void onExpired() {
super.onExpired();
Log.i(TAG, "no longer publishing");
}
}).build();
Nearby.Messages.publish(mGoogleApiClient, mActiveMessage,options)
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (status.isSuccess()) {
Log.i(TAG, "published successfully");
} else {
Log.i(TAG, "could not publish");
}
}
});
}
}
我需要添加一些特殊权限或其他什么吗?
发布于 2016-05-26 00:26:38
2806=FORBIDDEN
您是否在清单中指定了应用程序的应用程序接口密钥,并确保它具有正确的包名和sha1指纹?
发布于 2017-01-25 10:18:23
将您的API密钥限制为您的包名和SHA1指纹。
如果您还没有API key,请单击Create Credentials并选择API key,然后转到Google API key to Credentials
(:\Users\myUser.android\debug.keystore)
)
单击[ Save ][
确保你的build.gradle中有谷歌附近的依赖项。
compile 'com.google.android.gms:play-services-nearby:10.0.1'
确保还在Google控制台中启用了Nearby API。
转到Google API Console.
发布于 2016-05-25 12:41:38
您是否检查过设备上安装的Google Play服务是否为最新版本?或者至少它们与你在build.gradle中使用的版本匹配吗?
https://stackoverflow.com/questions/37383759
复制