我正在尝试编写一个书签,该书签将为当前页面添加书签并将链接保存到后端服务中的当前页面.当我点击这个书签时,我希望这个书签在浏览器标签的右上方显示为一个小弹出窗口(将iframe附加到现有页面).此弹出窗口将包含为当前页面添加书签的选项.此外,还会有选项在此弹出窗口中搜索我的书签,标签等.
到目前为止,我还没有看到任何这样的书签(来自delicioius,pinboard等).虽然有书签可以发布各种服务的链接,但是它们不允许您搜索,请在同一个弹出窗口中查看现有的书签列表.用户被迫在新选项卡中转到书签网站进行搜索等.
我想知道为什么没有像这样的bookmarklets(现有页面中的弹出窗口)没有完成的原因?这有什么安全理由吗?或者被广告拦截者屏蔽?
我在Chrome扩展程序中使用gapi客户端来访问Google云端硬盘.第一步是授权我的应用程序.我正在使用gapi.auth.authorize来启动授权.在我通过gapi启动的弹出窗口授权应用程序后,窗口永远不会关闭并卡住,如下图所示.然而,授权在后台成功,因为如果我手动关闭窗口,下次我看不到卡住的弹出窗口.有人能指出我做错了什么吗?
在授权弹出窗口中单击"允许访问"后,

然后显示一个卡住的空白弹出窗口

我正在使用的代码
function handleClientLoad(){
gapi.client.setApiKey('My API key');
window.setTimeout(checkAuthAuto, 1);
}
var checkAuthAuto = function () {
console.log('checkAuthAuto');
gapi.auth.authorize({
client_id: 'My client id',
scope: 'https://www.googleapis.com/auth/drive.file',
immediate: true
}, handleAuthResult);
}
function handleAuthResult(authResult) {
console.log('handleAuthResult');
var authButton = document.getElementById('authorizeButton');
var filePicker = document.getElementById('filePicker');
var addButton = document.getElementById('addButton');
authButton.style.display = 'none';
filePicker.style.display = 'none';
addButton.style.display = 'none';
if (authResult && !authResult.error) {
addButton.style.display = 'block';
addButton.onclick = uploadFile;
console.log('handleAuthResult:noerror');
} else {
// No access token could be retrieved, …Run Code Online (Sandbox Code Playgroud) 我正在努力让google端点工作.我创建了一个端点服务,并且能够通过Google API探测器测试其工作正常.然后我生成了android客户端并尝试调用我的端点服务.我在日志中看到这个错误,
04-05 08:48:20.547: I/GLSUser(13505): GLS error: INVALID_AUDIENCE myemail@gmail.com audience:server:client_id:334082396285-hfn3t2g5pg0gv8fshf22kaadq9fs23e2.apps.googleusercontent.com
Run Code Online (Sandbox Code Playgroud)
这是我的android java代码来构建凭证,即用于访问我的服务,
AUDIENCE = "server:client_id:334082396285-hfn3t2g5pg0gv8fshf22kaadq9fs23e2.apps.googleusercontent.com";
credential = GoogleAccountCredential.usingAudience(this, AUDIENCE);
setAccountName(settings.getString(PREF_ACCOUNT_NAME, null));
Run Code Online (Sandbox Code Playgroud)
看起来client_id中存在一些不匹配.这是我做的,
1)在一个API项目中在Google API控制台中创建了2个client_id,a)WEB_CLIENT_ID =我为Web应用程序创建了一个client_id,其中包含Redirect URIs = None和JavaScript origin = None.b)ANDROID_CLIENT_ID =为包含包名和sha1证书指纹的Android应用创建了一个client_id.
2)然后在python中的端点服务中使用这些,
@endpoints.api(name='devices',
version='v1',
description='Service to register devices',
allowed_client_ids=[ANDROID_CLIENT_ID,WEB_CLIENT_ID,endpoints.API_EXPLORER_CLIENT_ID],
audiences = [WEB_CLIENT_ID])
Run Code Online (Sandbox Code Playgroud)
完整的日志
04-05 08:48:20.397: D/overlay(159): Set pipe=RGB1 dpy=0; Set pipe=VG0 dpy=0;
04-05 08:48:20.547: W/GLSUser(13505): Status from wire: INVALID_AUDIENCE status: null
04-05 08:48:20.547: W/GLSUser(13505): Status from wire: INVALID_AUDIENCE status: null
04-05 08:48:20.547: I/GLSUser(13505): GLS error: INVALID_AUDIENCE myemail@gmail.com audience:server:client_id:334082396285-hfn3t2g5pg0gv8fshf22kaadq9fs23e2.apps.googleusercontent.com
04-05 …Run Code Online (Sandbox Code Playgroud) python google-app-engine android google-cloud-endpoints google-oauth
我在chrome web store中将我的演示项目(谷歌应用程序市场应用程序)发布到我自己的域时出错.我得到以下错误.
"具有在清单的api_console_project_id字段中指定的ID的API控制台项目,未启用Google Apps Marketplace SDK."
我已为特定项目启用了Google Apps Marketplace SDK和Google Apps Marketplace API.
此外,我还没有得到谷歌审查我的申请.即使我发布到我自己的域名,我是否必须接受此审核?
更新:
清单文件
{
"name": "Demo of single sign on",
"version": "0.3",
"manifest_version": 2,
"description": "Demo of single signon",
"icons": {
"128": "images/big.png",
"16": "images/small.png"
},
"container": ["DOMAIN_INSTALLABLE"],
"api_console_project_id": "681817309175",
"app": {
"launch": {
"web_url": "https://demoappnamehere.appspot.com"
}
}
}
Run Code Online (Sandbox Code Playgroud)



我在java中使用图像处理库来操作图像。我做的第一步是读取图像并创建java.awt.Image.BufferedImage对象。我是这样做的,
BufferedImage sourceImage = ImageIO.read( new File( filePath ) );
Run Code Online (Sandbox Code Playgroud)
上面的代码创建了一个BufferedImage对象DirectColorModel:
rmask=ff0000
gmask=ff00
bmask=ff
amask=0。
这就是我在 macbook 上运行上述代码时发生的情况。
但是当我在 linux 机器(托管服务器)上运行相同的代码时,这会创建一个BufferedImage对象ColorModel:
pixelBits = 24
numComponents = 3
颜色空间 = java.awt.color.ICC_ColorSpace@c39a20
透明度 = 1 有 alpha = false
isAlphaPre = false。
我在这两种情况下都使用了相同的 jpg 图像。我不知道为什么ColorModel在 mac 和 linux 上运行时相同的图像是不同的。在ColorModel用于MAC有4个部件和用于Linux的ColorModel的具有3个分量。
因此出现了一个问题,我使用的图像处理库总是假设传递的图像的ColorModel中总是有4个组件,并且在linux box上运行时它会抛出一个数组越界异常。但是在 macbook 上,它运行良好。
添加更多信息,读取图像后,我打印出来 image.getType()
TYPE_INT_RGB(值1)TYPE_3BYTE_BGR …android ×1
bookmarklet ×1
bookmarks ×1
google-api ×1
google-apps ×1
google-oauth ×1
image ×1
java ×1
javascript ×1
python ×1
security ×1